[PATCH 7/7] drm/pl111: Add handling of Versatile platforms

Linus Walleij linus.walleij at linaro.org
Fri Sep 1 02:27:05 PDT 2017


On Thu, Aug 31, 2017 at 7:58 PM, Eric Anholt <eric at anholt.net> wrote:
> Linus Walleij <linus.walleij at linaro.org> writes:
>
>> The ARM reference designs in the Versatile family: Integrator,
>> Versatile and RealView can make use of the new DRM driver as well.
>> We just need to create a bit of platform-specific code for them
>> that we isolate to its own file.
>>
>> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
>> ---
>>  drivers/gpu/drm/pl111/Makefile          |   1 +
>>  drivers/gpu/drm/pl111/pl111_display.c   |   7 -
>>  drivers/gpu/drm/pl111/pl111_drv.c       |   5 +
>>  drivers/gpu/drm/pl111/pl111_versatile.c | 270 ++++++++++++++++++++++++++++++++
>>  drivers/gpu/drm/pl111/pl111_versatile.h |   9 ++
>>  5 files changed, 285 insertions(+), 7 deletions(-)
>>  create mode 100644 drivers/gpu/drm/pl111/pl111_versatile.c
>>  create mode 100644 drivers/gpu/drm/pl111/pl111_versatile.h
>>
>> diff --git a/drivers/gpu/drm/pl111/Makefile b/drivers/gpu/drm/pl111/Makefile
>> index c5f8f9684848..fce1453a93e1 100644
>> --- a/drivers/gpu/drm/pl111/Makefile
>> +++ b/drivers/gpu/drm/pl111/Makefile
>> @@ -1,4 +1,5 @@
>>  pl111_drm-y +=       pl111_display.o \
>> +             pl111_versatile.o \
>>               pl111_drv.o
>>
>>  pl111_drm-$(CONFIG_DEBUG_FS) += pl111_debugfs.o
>> diff --git a/drivers/gpu/drm/pl111/pl111_display.c b/drivers/gpu/drm/pl111/pl111_display.c
>> index 37f409867934..f7b043f4fed6 100644
>> --- a/drivers/gpu/drm/pl111/pl111_display.c
>> +++ b/drivers/gpu/drm/pl111/pl111_display.c
>> @@ -454,13 +454,6 @@ int pl111_display_init(struct drm_device *drm)
>>       }
>>       of_node_put(endpoint);
>>
>> -     if (tft_r0b0g0[0] != 0 ||
>> -         tft_r0b0g0[1] != 8 ||
>> -         tft_r0b0g0[2] != 16) {
>> -             dev_err(dev, "arm,pl11x,tft-r0g0b0-pads != [0,8,16] not yet supported\n");
>> -             return -EINVAL;
>> -     }
>
> I had a note in the DOC section of pl111_drv.c about needing to filter
> available formats based on this property.  Could you update that with
> some explanation of the new state of things?  (Do we actually need to
> filter the formats?)

No we don't need to filter it really, only the Nomadik makes use of this
property and I haven't come to adding support for that yet.

> I haven't verified that we get the same pin routing setup as the fbdev
> driver did for these platforms, but even if they don't match yet this
> seems like an excellent start and we can make sure we sort them out as
> we add panel drivers.

This should be fine with panels I think, the problem is how the
CLCD/PL11x is integrated with the silicon, as sometimes the VHDL
coders just arbitrarily manage to switch things around. It should
be handled entirely in the PL11x driver.

> I've verified that my Cygnus board continues working with your series.

Nice! I have graphics working on the RealView machines.

Now I just need to figure out a few minor things like augmenting the
list of resolutions from the panel for the bus bandwidth and
some dumb VGA bridge business.

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list