[PATCH RFC 24/24] drm/lima: add makefile and kconfig

André Przywara andre.przywara at arm.com
Sat Jul 14 19:15:17 UTC 2018


On 07/14/2018 03:18 PM, Qiang Yu wrote:

Hi,

> On Sat, Jul 14, 2018 at 8:07 PM André Przywara <andre.przywara at arm.com> wrote:
>>
>> On 07/14/2018 02:14 AM, Qiang Yu wrote:
>>
>> Hi,
>>
>>> Thanks for your info. What a surprise that exist such a SoC. That
>>> means I have to
>>> judge if it's a 64bit CPU in other way than just check ARM64 config.
>>
>> Yeah, you should do anyways. Actually you should try to avoid those
>> explicit checks in the first place. Drivers shouldn't need to care about
>> the "bit size" of the CPU and Linux provides many ways to automatically
>> cope with that, with types likes phys_addr_t for instance.
>> Quickly grep-ing I find "need_dma32" in lima_ttm.c:lima_ttm_init(), is
>> that the only place you need to check?
> Yes, mali GPU can only use physical mem within 32bit address space.

Ah, thanks, I was wondering about that.

> So I check ARM64 and ARM_LPAE for possible more than 32bit
> address space to pass in “need_dma32”.

Mmh, but this is not how I understand this parameter. To me it looks
like it is a property of the device (GPU and bus), but not the CPU.
So if Mali 4xx can only do 32-bit DMA, then this parameter should
*always* be true, regardless of whether the CPU can address more than
4GB. If the system is restricted to 32-bit anyways, it should not hurt
to have it set to true, even though it is not needed in this case.

So you can drop this check altogether and just always pass "true".

Cheers,
Andre.

>>> On Sat, Jun 16, 2018 at 1:23 AM Andre Przywara <andre.przywara at arm.com> wrote:
>>>>
>>>> On 05/23/2018 17:16, Marek Vasut wrote:
>>>>> On 05/18/2018 11:28 AM, Qiang Yu wrote:
>>>>>> From: Lima Project Developers <dri-devel at lists.freedesktop.org>
>>>>>>
>>>>>> Signed-off-by: Qiang Yu <yuq825 at gmail.com>
>>>>>> Signed-off-by: Neil Armstrong <narmstrong at baylibre.com>
>>>>>> Signed-off-by: Simon Shields <simon at lineageos.org>
>>>>>> Signed-off-by: Heiko Stuebner <heiko at sntech.de>
>>>>>> ---
>>>>>>  drivers/gpu/drm/Kconfig       |  2 ++
>>>>>>  drivers/gpu/drm/Makefile      |  1 +
>>>>>>  drivers/gpu/drm/lima/Kconfig  |  9 +++++++++
>>>>>>  drivers/gpu/drm/lima/Makefile | 19 +++++++++++++++++++
>>>>>>  4 files changed, 31 insertions(+)
>>>>>>  create mode 100644 drivers/gpu/drm/lima/Kconfig
>>>>>>  create mode 100644 drivers/gpu/drm/lima/Makefile
>>>>>>
>>>>>> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
>>>>>> index deeefa7a1773..f00d529ee034 100644
>>>>>> --- a/drivers/gpu/drm/Kconfig
>>>>>> +++ b/drivers/gpu/drm/Kconfig
>>>>>> @@ -289,6 +289,8 @@ source "drivers/gpu/drm/pl111/Kconfig"
>>>>>>
>>>>>>  source "drivers/gpu/drm/tve200/Kconfig"
>>>>>>
>>>>>> +source "drivers/gpu/drm/lima/Kconfig"
>>>>>> +
>>>>>>  # Keep legacy drivers last
>>>>>>
>>>>>>  menuconfig DRM_LEGACY
>>>>>> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
>>>>>> index 50093ff4479b..aba686e41d6b 100644
>>>>>> --- a/drivers/gpu/drm/Makefile
>>>>>> +++ b/drivers/gpu/drm/Makefile
>>>>>> @@ -103,3 +103,4 @@ obj-$(CONFIG_DRM_MXSFB)  += mxsfb/
>>>>>>  obj-$(CONFIG_DRM_TINYDRM) += tinydrm/
>>>>>>  obj-$(CONFIG_DRM_PL111) += pl111/
>>>>>>  obj-$(CONFIG_DRM_TVE200) += tve200/
>>>>>> +obj-$(CONFIG_DRM_LIMA)  += lima/
>>>>>> diff --git a/drivers/gpu/drm/lima/Kconfig b/drivers/gpu/drm/lima/Kconfig
>>>>>> new file mode 100644
>>>>>> index 000000000000..4ce9ac2e8204
>>>>>> --- /dev/null
>>>>>> +++ b/drivers/gpu/drm/lima/Kconfig
>>>>>> @@ -0,0 +1,9 @@
>>>>>> +
>>>>>> +config DRM_LIMA
>>>>>> +       tristate "LIMA (DRM support for ARM Mali 400/450 GPU)"
>>>>>> +       depends on DRM
>>>>>> +       depends on ARCH_SUNXI || ARCH_ROCKCHIP || ARCH_EXYNOS || ARCH_MESON
>>>>>
>>>>> You can add ARCH_ZYNQMP here too , it has Mali 400 MP2.
>>>>
>>>> Well, as Qiang Yu already figured, it seems much smarter to not enumerate
>>>> every possible platform here.
>>>> More than that, the Kconfig depends should be strictly technical. There is
>>>> nothing in this driver which is ARM specific, in fact I managed to compile
>>>> it for x86-64 as well (with some small fix in a random header file).
>>>> In fact there are x86-64 based SoCs pairing Intel Atom cores with a Mali GPUs:
>>>> https://en.wikipedia.org/wiki/Rockchip#Tablet_processors_with_integrated_modem
>>>>
>>>> So you can get rid of this whole line at all, meaning you don't even need
>>>> the "depends on ARM || ARM64 || COMPILE_TEST" you have in your gitlab repo.
>>>>
>>>> Cheers,
>>>> Andre.
>>>>
>>>>>
>>>>> --
>>>>> Best regards,
>>>>> Marek Vasut
>>>>> _______________________________________________
>>>>> dri-devel mailing list
>>>>> dri-devel at lists.freedesktop.org
>>>>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>>



More information about the dri-devel mailing list