[PATCH] drm/radeon: fix endian bugs in radeon_atom_get_clock_dividers()

Alex Deucher alexdeucher at gmail.com
Mon Apr 22 07:34:26 PDT 2013


On Mon, Apr 22, 2013 at 10:31 AM, Dan Carpenter
<dan.carpenter at oracle.com> wrote:
> On Mon, Apr 22, 2013 at 10:18:09AM -0400, Alex Deucher wrote:
>> On Mon, Apr 22, 2013 at 10:08 AM, Dan Carpenter
>> <dan.carpenter at oracle.com> wrote:
>> > On Mon, Apr 22, 2013 at 10:03:13AM -0400, alexdeucher at gmail.com wrote:
>> >> From: Alex Deucher <alexander.deucher at amd.com>
>> >>
>> >> Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
>> >> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
>> >> ---
>> >>  drivers/gpu/drm/radeon/atombios.h        |    2 ++
>> >>  drivers/gpu/drm/radeon/radeon_atombios.c |    6 ++----
>> >>  2 files changed, 4 insertions(+), 4 deletions(-)
>> >>
>> >> diff --git a/drivers/gpu/drm/radeon/atombios.h b/drivers/gpu/drm/radeon/atombios.h
>> >> index 4b04ba3..de678dd 100644
>> >> --- a/drivers/gpu/drm/radeon/atombios.h
>> >> +++ b/drivers/gpu/drm/radeon/atombios.h
>> >> @@ -459,6 +459,7 @@ typedef struct _COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS_V3
>> >>    {
>> >>      ATOM_COMPUTE_CLOCK_FREQ  ulClock;         //Input Parameter
>> >>      ATOM_S_MPLL_FB_DIVIDER   ulFbDiv;         //Output Parameter
>> >> +    ULONG ulClockFbDiv;
>> >
>> > Why is this a long instead of an __le32 or u32?
>>
>> atombios.h is shared across OSes and has it's own types.
>
> Can ULONG be 64 bit?  It's ugly when ULONG, ulong and
> "unsigned long" are different types.

The atombios ULONG type is always 32 bits.

>
>> >
>> > I'm confused by this patch as well.  I assumed the datatypes were
>> > determined by the hardware spec.
>>
>> I'm not sure I follow.  The atombios interpretor requires data in
>> little endian format.
>
> I was expecting that the code would stay the same and the
> annotations would change is all...  I haven't tested this so I'm
> sure it's right, but it just wasn't the change I was expecting.

This seemed like the most obvious solution to me, but it may not be
optimal.  What would you have done?

Alex


More information about the dri-devel mailing list