* Re: [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled [not found] ` <20210624072916.27703-17-tzimmermann@suse.de> @ 2021-06-24 10:47 ` Laurent Pinchart 0 siblings, 0 replies; 3+ messages in thread From: Laurent Pinchart @ 2021-06-24 10:47 UTC (permalink / raw) To: Thomas Zimmermann Cc: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey, maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim, kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard, yannick.fertre, philippe.cornu, mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec, thierry.reding, jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr, hyun.kwon, michal.simek, jani.nikula, rodrigo.vivi, linux, kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw, hamohammed.sa, amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc, linux-mediatek, nouveau, linux-rockchip, linux-stm32, linux-sunxi, linux-tegra, intel-gfx Hi Thomas, Thank you for the patch. On Thu, Jun 24, 2021 at 09:29:05AM +0200, Thomas Zimmermann wrote: > The field drm_device.irq_enabled is only used by legacy drivers > with userspace modesetting. Don't set it in rcar-du. > > Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c > index bfbff90588cb..e289a66594a7 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c > @@ -593,8 +593,6 @@ static int rcar_du_probe(struct platform_device *pdev) > goto error; > } > > - rcdu->ddev.irq_enabled = 1; > - > /* > * Register the DRM device with the core and the connectors with > * sysfs. -- Regards, Laurent Pinchart _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <20210624072916.27703-25-tzimmermann@suse.de>]
* Re: [PATCH v3 24/27] drm/vkms: Don't set struct drm_device.irq_enabled [not found] ` <20210624072916.27703-25-tzimmermann@suse.de> @ 2021-06-24 10:48 ` Laurent Pinchart 0 siblings, 0 replies; 3+ messages in thread From: Laurent Pinchart @ 2021-06-24 10:48 UTC (permalink / raw) To: Thomas Zimmermann Cc: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey, maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim, kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard, yannick.fertre, philippe.cornu, mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec, thierry.reding, jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr, hyun.kwon, michal.simek, jani.nikula, rodrigo.vivi, linux, kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw, hamohammed.sa, amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc, linux-mediatek, nouveau, linux-rockchip, linux-stm32, linux-sunxi, linux-tegra, intel-gfx Hi Thomas, Thank you for the patch. On Thu, Jun 24, 2021 at 09:29:13AM +0200, Thomas Zimmermann wrote: > The field drm_device.irq_enabled is only used by legacy drivers > with userspace modesetting. Don't set it in vkms. > > Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/gpu/drm/vkms/vkms_drv.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c > index 027ffe759440..496de38ad983 100644 > --- a/drivers/gpu/drm/vkms/vkms_drv.c > +++ b/drivers/gpu/drm/vkms/vkms_drv.c > @@ -163,8 +163,6 @@ static int vkms_create(struct vkms_config *config) > goto out_devres; > } > > - vkms_device->drm.irq_enabled = true; > - > ret = drm_vblank_init(&vkms_device->drm, 1); > if (ret) { > DRM_ERROR("Failed to vblank\n"); -- Regards, Laurent Pinchart _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <20210624072916.27703-5-tzimmermann@suse.de>]
[parent not found: <87im23u1ok.fsf@intel.com>]
[parent not found: <b5e7729f-ed11-e9ca-386e-562feb2bd2b7@suse.de>]
[parent not found: <877dijtzl2.fsf@intel.com>]
[parent not found: <af21db75-584f-aec0-9659-d5386f27b4ea@suse.de>]
[parent not found: <YNR0m2DJsdIW3NAZ@orome.fritz.box>]
[parent not found: <87zgvfsalz.fsf@intel.com>]
* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls [not found] ` <87zgvfsalz.fsf@intel.com> @ 2021-06-24 12:57 ` Thomas Zimmermann 0 siblings, 0 replies; 3+ messages in thread From: Thomas Zimmermann @ 2021-06-24 12:57 UTC (permalink / raw) To: Jani Nikula, Thierry Reding Cc: hamohammed.sa, emma, airlied, nouveau, rodrigo.vivi, liviu.dudau, alexandre.torgue, dri-devel, michal.simek, melissa.srw, linux-tegra, laurent.pinchart, benjamin.gaignard, linux, mihail.atanassov, linux-stm32, linux-samsung-soc, jy0922.shim, krzysztof.kozlowski, linux-rockchip, linux-mediatek, wens, jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei, james.qian.wang, linux-imx, Daniel Vetter, linux-graphics-maintainer, intel-gfx, bskeggs, chunkuang.hu, puck.chen, s.hauer, rodrigosiqueiramelo, laurentiu.palcu, matthias.bgg, kernel, linux-arm-kernel, mcoquelin.stm32, amd-gfx, hyun.kwon, tomba, jyri.sarha, yannick.fertre, Xinhui.Pan, sw0312.kim, hjc, christian.koenig, linux-sunxi, kyungmin.park, kieran.bingham+renesas, philippe.cornu, alexander.deucher, tiantao6, shawnguo [-- Attachment #1.1.1: Type: text/plain, Size: 3127 bytes --] Hi Am 24.06.21 um 14:36 schrieb Jani Nikula: > On Thu, 24 Jun 2021, Thierry Reding <thierry.reding@gmail.com> wrote: >> On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote: >>> Hi >>> >>> Am 24.06.21 um 10:51 schrieb Jani Nikula: >>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote: >>>>> Hi >>>>> >>>>> Am 24.06.21 um 10:06 schrieb Jani Nikula: >>>>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote: >>>>>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c >>>>>>> index 3417e1ac7918..10fe16bafcb6 100644 >>>>>>> --- a/drivers/gpu/drm/drm_vblank.c >>>>>>> +++ b/drivers/gpu/drm/drm_vblank.c >>>>>>> @@ -1748,8 +1748,16 @@ int drm_wait_vblank_ioctl(struct drm_device *dev, void *data, >>>>>>> unsigned int pipe_index; >>>>>>> unsigned int flags, pipe, high_pipe; >>>>>>> - if (!dev->irq_enabled) >>>>>>> - return -EOPNOTSUPP; >>>>>>> +#if defined(CONFIG_DRM_LEGACY) >>>>>>> + if (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) { >>>>>>> + if (!dev->irq_enabled) >>>>>>> + return -EOPNOTSUPP; >>>>>>> + } else /* if DRIVER_MODESET */ >>>>>>> +#endif >>>>>>> + { >>>>>>> + if (!drm_dev_has_vblank(dev)) >>>>>>> + return -EOPNOTSUPP; >>>>>>> + } >>>>>> >>>>>> Sheesh I hate this kind of inline #ifdefs. >>>>>> >>>>>> Two alternate suggestions that I believe should be as just efficient: >>>>> >>>>> Or how about: >>>>> >>>>> static bool drm_wait_vblank_supported(struct drm_device *dev) >>>>> >>>>> { >>>>> >>>>> if defined(CONFIG_DRM_LEGACY) >>>>> if (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) >>>>> >>>>> return dev->irq_enabled; >>>>> >>>>> #endif >>>>> return drm_dev_has_vblank(dev); >>>>> >>>>> } >>>>> >>>>> >>>>> ? >>>>> >>>>> It's inline, but still readable. >>>> >>>> It's definitely better than the original, but it's unclear to me why >>>> you'd prefer this over option 2) below. I guess the only reason I can >>>> think of is emphasizing the conditional compilation. However, >>>> IS_ENABLED() is widely used in this manner specifically to avoid inline >>>> #if, and the compiler optimizes it away. >>> >>> It's simply more readable to me as the condition is simpler. But option 2 is >>> also ok. >> >> Perhaps do something like this, then: >> >> if (IS_ENABLED(CONFIG_DRM_LEGACY)) { >> if (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) >> return dev->irq_enabled; >> } >> >> return drm_dev_has_vblank(dev); >> >> That's about just as readable as the variant involving the preprocessor >> but has all the benefits of not using the preprocessor. > > Looks like a winner to me. :) That's the most readable. But I just remembered that irq_enabled will likely become legacy-only in the device structure. We'll need an ifdef variant then. :/ Best regards Thomas > > BR, > Jani. > > -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Felix Imendörffer [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 840 bytes --] [-- Attachment #2: Type: text/plain, Size: 170 bytes --] _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-06-24 12:57 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20210624072916.27703-1-tzimmermann@suse.de>
[not found] ` <20210624072916.27703-17-tzimmermann@suse.de>
2021-06-24 10:47 ` [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled Laurent Pinchart
[not found] ` <20210624072916.27703-25-tzimmermann@suse.de>
2021-06-24 10:48 ` [PATCH v3 24/27] drm/vkms: " Laurent Pinchart
[not found] ` <20210624072916.27703-5-tzimmermann@suse.de>
[not found] ` <87im23u1ok.fsf@intel.com>
[not found] ` <b5e7729f-ed11-e9ca-386e-562feb2bd2b7@suse.de>
[not found] ` <877dijtzl2.fsf@intel.com>
[not found] ` <af21db75-584f-aec0-9659-d5386f27b4ea@suse.de>
[not found] ` <YNR0m2DJsdIW3NAZ@orome.fritz.box>
[not found] ` <87zgvfsalz.fsf@intel.com>
2021-06-24 12:57 ` [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls Thomas Zimmermann
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox