[PATCH 6/6] drm/msm/adreno: Remove CONFIG_OF checks

Archit Taneja architt at codeaurora.org
Wed Nov 18 08:04:58 PST 2015



On 11/18/2015 8:15 PM, Rob Clark wrote:
> On Wed, Nov 18, 2015 at 6:19 AM, Archit Taneja <architt at codeaurora.org> wrote:
>> Remove CONFIG_OF checks in adreno_device.c. The downstream bus scaling
>> stuff is included only when CONFIG_OF is not set. So, remove that too.
>>
>> Signed-off-by: Archit Taneja <architt at codeaurora.org>
>> ---
>>   drivers/gpu/drm/msm/adreno/adreno_device.c | 52 ------------------------------
>>   1 file changed, 52 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c b/drivers/gpu/drm/msm/adreno/adreno_device.c
>> index 1ea2df5..950d27d 100644
>> --- a/drivers/gpu/drm/msm/adreno/adreno_device.c
>> +++ b/drivers/gpu/drm/msm/adreno/adreno_device.c
>> @@ -19,10 +19,6 @@
>>
>>   #include "adreno_gpu.h"
>>
>> -#if defined(DOWNSTREAM_CONFIG_MSM_BUS_SCALING) && !defined(CONFIG_OF)
>> -#  include <mach/kgsl.h>
>> -#endif
>> -
>
> I think we do need to keep the bus-scaling for 3.10 kernel, esp. for
> the display (otherwise underflow).. but the 'pdata->bus_scale_table'
> stuff can be dropped since somehow that is unneeded. (I guess
> downstream bus scaling gets that from DT?  I didn't really look into
> how it worked.)

Okay. It looks like the AHB bus scale tables are hardcoded within the
driver and the AXI ones are retrieved from the mdp/gpu DT nodes.

>
> Eventually when we have real bus scaling upstream, hopefully we can
> hack up some sort of shim for downstream kernel so the same drm/msm
> code can also work downstream, but we'll have to see what the upstream
> bus scaling API looks like.


The adreno driver isn't using the bus scale table at all when DT is
enabled. There are some downstream bus scale API helpers that let us
get the table from DT. I guess we could put that under the BUS_SCALING
macro.

Is this particular patch okay as is? The bus scale stuff affected is
needed only by the3.4 kernel stuff anyway.

Archit

>
> BR,
> -R
>
>>   #define ANY_ID 0xff
>>
>>   bool hang_debug = false;
>> @@ -168,7 +164,6 @@ static void set_gpu_pdev(struct drm_device *dev,
>>   static int adreno_bind(struct device *dev, struct device *master, void *data)
>>   {
>>          static struct adreno_platform_config config = {};
>> -#ifdef CONFIG_OF
>>          struct device_node *child, *node = dev->of_node;
>>          u32 val;
>>          int ret;
>> @@ -205,53 +200,6 @@ static int adreno_bind(struct device *dev, struct device *master, void *data)
>>                  return -ENXIO;
>>          }
>>
>> -#else
>> -       struct kgsl_device_platform_data *pdata = dev->platform_data;
>> -       uint32_t version = socinfo_get_version();
>> -       if (cpu_is_apq8064ab()) {
>> -               config.fast_rate = 450000000;
>> -               config.slow_rate = 27000000;
>> -               config.bus_freq  = 4;
>> -               config.rev = ADRENO_REV(3, 2, 1, 0);
>> -       } else if (cpu_is_apq8064()) {
>> -               config.fast_rate = 400000000;
>> -               config.slow_rate = 27000000;
>> -               config.bus_freq  = 4;
>> -
>> -               if (SOCINFO_VERSION_MAJOR(version) == 2)
>> -                       config.rev = ADRENO_REV(3, 2, 0, 2);
>> -               else if ((SOCINFO_VERSION_MAJOR(version) == 1) &&
>> -                               (SOCINFO_VERSION_MINOR(version) == 1))
>> -                       config.rev = ADRENO_REV(3, 2, 0, 1);
>> -               else
>> -                       config.rev = ADRENO_REV(3, 2, 0, 0);
>> -
>> -       } else if (cpu_is_msm8960ab()) {
>> -               config.fast_rate = 400000000;
>> -               config.slow_rate = 320000000;
>> -               config.bus_freq  = 4;
>> -
>> -               if (SOCINFO_VERSION_MINOR(version) == 0)
>> -                       config.rev = ADRENO_REV(3, 2, 1, 0);
>> -               else
>> -                       config.rev = ADRENO_REV(3, 2, 1, 1);
>> -
>> -       } else if (cpu_is_msm8930()) {
>> -               config.fast_rate = 400000000;
>> -               config.slow_rate = 27000000;
>> -               config.bus_freq  = 3;
>> -
>> -               if ((SOCINFO_VERSION_MAJOR(version) == 1) &&
>> -                       (SOCINFO_VERSION_MINOR(version) == 2))
>> -                       config.rev = ADRENO_REV(3, 0, 5, 2);
>> -               else
>> -                       config.rev = ADRENO_REV(3, 0, 5, 0);
>> -
>> -       }
>> -#  ifdef DOWNSTREAM_CONFIG_MSM_BUS_SCALING
>> -       config.bus_scale_table = pdata->bus_scale_table;
>> -#  endif
>> -#endif
>>          dev->platform_data = &config;
>>          set_gpu_pdev(dev_get_drvdata(master), to_platform_device(dev));
>>          return 0;
>> --
>> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
>> hosted by The Linux Foundation
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project


More information about the dri-devel mailing list