[Mesa-dev] [PATCH 2/2] kmsro: Extend to include hx8357d.
Eric Anholt
eric at anholt.net
Fri Oct 26 16:41:14 UTC 2018
Eric Engestrom <eric.engestrom at intel.com> writes:
> On Thursday, 2018-10-25 09:39:10 -0700, Eric Anholt wrote:
>> This allows vc4 to initialize on the Adafruit PiTFT 3.5" touchscreen with
>> the new tinydrm driver I just submitted. If this series extending the
>> pl111/kmsro driver is accepted, then I'll extend kmsro with the other
>> tinydrm drivers as well.
>> ---
>> src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c | 5 +++++
>> src/gallium/drivers/kmsro/Android.mk | 1 +
>> src/gallium/drivers/kmsro/Automake.inc | 1 +
>> src/gallium/targets/dri/meson.build | 1 +
>> src/gallium/targets/dri/target.c | 1 +
>> 5 files changed, 9 insertions(+)
>>
>> diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
>> index 230bafe5e159..73ddab0cbf02 100644
>> --- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
>> +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
>> @@ -111,6 +111,11 @@ static const struct drm_driver_descriptor driver_descriptors[] = {
>> .create_screen = pipe_kmsro_create_screen,
>> .configuration = pipe_default_configuration_query,
>> },
>> + {
>> + .driver_name = "hx8357d",
>> + .create_screen = pipe_kmsro_create_screen,
>> + .configuration = pipe_default_configuration_query,
>> + },
>
> Is that really all it takes to add a new userspace tinydrm driver? Impressive!
>
> (nit: `.driver_name` missing one space of indentation)
>
> Code-wise, patch #1 is:
> Reviewed-by: Eric Engestrom <eric.engestrom at intel.com>
>
> Not completely sure this is all that's needed for this patch, so only:
> Acked-by: Eric Engestrom <eric.engestrom at intel.com>
>
> That said, ... (scroll down)
>
>> {
>> .driver_name = "virtio_gpu",
>> .create_screen = pipe_virgl_create_screen,
>> diff --git a/src/gallium/drivers/kmsro/Android.mk b/src/gallium/drivers/kmsro/Android.mk
>> index 8a851024dc88..f6a444e8865b 100644
>> --- a/src/gallium/drivers/kmsro/Android.mk
>> +++ b/src/gallium/drivers/kmsro/Android.mk
>> @@ -35,5 +35,6 @@ include $(BUILD_STATIC_LIBRARY)
>>
>> ifneq ($(HAVE_GALLIUM_KMSRO),)
>> GALLIUM_TARGET_DRIVERS += pl111
>> +GALLIUM_TARGET_DRIVERS += hx8357d
>> $(eval GALLIUM_LIBS += $(LOCAL_MODULE) libmesa_winsys_kmsro)
>> endif
>> diff --git a/src/gallium/drivers/kmsro/Automake.inc b/src/gallium/drivers/kmsro/Automake.inc
>> index 66d125cb440a..d5961c907653 100644
>> --- a/src/gallium/drivers/kmsro/Automake.inc
>> +++ b/src/gallium/drivers/kmsro/Automake.inc
>> @@ -1,6 +1,7 @@
>> if HAVE_GALLIUM_KMSRO
>>
>> TARGET_DRIVERS += pl111
>> +TARGET_DRIVERS += hx8357d
>> TARGET_CPPFLAGS += -DGALLIUM_KMSRO
>> TARGET_LIB_DEPS += \
>> $(top_builddir)/src/gallium/winsys/kmsro/drm/libkmsrodrm.la \
>> diff --git a/src/gallium/targets/dri/meson.build b/src/gallium/targets/dri/meson.build
>> index c1cb616b4dad..bc63702498ba 100644
>> --- a/src/gallium/targets/dri/meson.build
>> +++ b/src/gallium/targets/dri/meson.build
>> @@ -63,6 +63,7 @@ libgallium_dri = shared_library(
>> )
>>
>> foreach d : [[with_gallium_kmsro, 'pl111_dri.so'],
>> + [with_gallium_kmsro, 'hx8357d_dri.so'],
>
> ... wouldn't we want the user-facing `gallium` option to have the
> `pl111,hx8357d` granularity?
>
> It would be more work, so as a follow-up patch, and they're just
> hardlinks of the same file anyway so they don't really take any disk
> space or compilation time, so I'm not sure it's worth it, but asking the
> question anyway :)
My thought was that since each of the tinydrm gallium drivers is the
same code and just one more loader entrypoint and drm_driver_descriptor
struct, everyone's better off if we don't list a million names in the
meson/autotools options and you just get them all as a group.
What I actually think I want is the loader to know that if you didn't
find a native driver and you've got a KMS node, it should try seeing if
kmsro_dri.so likes your KMS node. However, that would require Xorg to
also know about this idea (when can we switch AIGLX over to EGL?).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181026/2bf78b0c/attachment.sig>
More information about the mesa-dev
mailing list