Re: [PATCH v1 01/28] video: Fix W=1 warnings in of_videomode + of_display_timing
On Fri, 27 Nov 2020, Sam Ravnborg wrote: > Fix trivial W=1 warnings. > Update kernel-doc to avoid the warnings. Can you put what's being fixed in the subject line please? "fix w=1 warnings" is very bland and this it is unlikely to be the only w=1 warning that gets fixed in these files, so has a high likely hood of having an identical subject-line as a previous/future patch. With regards to the latter point; I have personally found subject lines to be a pretty reliable way of maintaining/backporting older kernels. The nomenclature here would taint that pretty readily. > Signed-off-by: Sam Ravnborg > Cc: Sam Ravnborg > Cc: linux-fb...@vger.kernel.org > --- > drivers/video/of_display_timing.c | 1 + > drivers/video/of_videomode.c | 8 > 2 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/video/of_display_timing.c > b/drivers/video/of_display_timing.c > index abc9ada798ee..f93b6abbe258 100644 > --- a/drivers/video/of_display_timing.c > +++ b/drivers/video/of_display_timing.c > @@ -52,6 +52,7 @@ static int parse_timing_property(const struct device_node > *np, const char *name, > /** > * of_parse_display_timing - parse display_timing entry from device_node > * @np: device_node with the properties > + * @dt: display_timing that contains the result. I may be partially written > in case of errors > **/ > static int of_parse_display_timing(const struct device_node *np, > struct display_timing *dt) > diff --git a/drivers/video/of_videomode.c b/drivers/video/of_videomode.c > index 67aff2421c29..a5bb02f02b44 100644 > --- a/drivers/video/of_videomode.c > +++ b/drivers/video/of_videomode.c > @@ -13,10 +13,10 @@ > #include > > /** > - * of_get_videomode - get the videomode # from devicetree > - * @np - devicenode with the display_timings > - * @vm - set to return value > - * @index - index into list of display_timings > + * of_get_videomode: get the videomode # from devicetree > + * @np: devicenode with the display_timings > + * @vm: set to return value > + * @index: index into list of display_timings > * (Set this to OF_USE_NATIVE_MODE to use whatever mode is > *specified as native mode in the DT.) > * -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH 1/2] ALSA: ppc: drop if block with always false condition
On Thu, 26 Nov 2020 17:59:49 +0100, Uwe Kleine-König wrote: > > The remove callback is only called for devices that were probed > successfully before. As the matching probe function cannot complete > without error if dev->match_id != PS3_MATCH_ID_SOUND, we don't have to > check this here. > > Signed-off-by: Uwe Kleine-König Applied this one now. Thanks. Takashi ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH 2/2] powerpc/ps3: make system bus's remove and shutdown callbacks return void
On Thu, 26 Nov 2020 17:59:50 +0100, Uwe Kleine-König wrote: > > The driver core ignores the return value of struct device_driver::remove > because there is only little that can be done. For the shutdown callback > it's ps3_system_bus_shutdown() which ignores the return value. > > To simplify the quest to make struct device_driver::remove return void, > let struct ps3_system_bus_driver::remove return void, too. All users > already unconditionally return 0, this commit makes it obvious that > returning an error code is a bad idea and ensures future users behave > accordingly. > > Signed-off-by: Uwe Kleine-König For the sound bit: Acked-by: Takashi Iwai thanks, Takashi > --- > arch/powerpc/include/asm/ps3.h | 4 ++-- > arch/powerpc/platforms/ps3/system-bus.c | 5 ++--- > drivers/block/ps3disk.c | 3 +-- > drivers/block/ps3vram.c | 3 +-- > drivers/char/ps3flash.c | 3 +-- > drivers/net/ethernet/toshiba/ps3_gelic_net.c | 3 +-- > drivers/ps3/ps3-lpm.c| 3 +-- > drivers/ps3/ps3-vuart.c | 10 -- > drivers/scsi/ps3rom.c| 3 +-- > drivers/usb/host/ehci-ps3.c | 4 +--- > drivers/usb/host/ohci-ps3.c | 4 +--- > drivers/video/fbdev/ps3fb.c | 4 +--- > sound/ppc/snd_ps3.c | 3 +-- > 13 files changed, 18 insertions(+), 34 deletions(-) > > diff --git a/arch/powerpc/include/asm/ps3.h b/arch/powerpc/include/asm/ps3.h > index cb89e4bf55ce..e646c7f218bc 100644 > --- a/arch/powerpc/include/asm/ps3.h > +++ b/arch/powerpc/include/asm/ps3.h > @@ -378,8 +378,8 @@ struct ps3_system_bus_driver { > enum ps3_match_sub_id match_sub_id; > struct device_driver core; > int (*probe)(struct ps3_system_bus_device *); > - int (*remove)(struct ps3_system_bus_device *); > - int (*shutdown)(struct ps3_system_bus_device *); > + void (*remove)(struct ps3_system_bus_device *); > + void (*shutdown)(struct ps3_system_bus_device *); > /* int (*suspend)(struct ps3_system_bus_device *, pm_message_t); */ > /* int (*resume)(struct ps3_system_bus_device *); */ > }; > diff --git a/arch/powerpc/platforms/ps3/system-bus.c > b/arch/powerpc/platforms/ps3/system-bus.c > index c62aaa29a9d5..b431f41c6cb5 100644 > --- a/arch/powerpc/platforms/ps3/system-bus.c > +++ b/arch/powerpc/platforms/ps3/system-bus.c > @@ -382,7 +382,6 @@ static int ps3_system_bus_probe(struct device *_dev) > > static int ps3_system_bus_remove(struct device *_dev) > { > - int result = 0; > struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev); > struct ps3_system_bus_driver *drv; > > @@ -393,13 +392,13 @@ static int ps3_system_bus_remove(struct device *_dev) > BUG_ON(!drv); > > if (drv->remove) > - result = drv->remove(dev); > + drv->remove(dev); > else > dev_dbg(&dev->core, "%s:%d %s: no remove method\n", > __func__, __LINE__, drv->core.name); > > pr_debug(" <- %s:%d: %s\n", __func__, __LINE__, dev_name(&dev->core)); > - return result; > + return 0; > } > > static void ps3_system_bus_shutdown(struct device *_dev) > diff --git a/drivers/block/ps3disk.c b/drivers/block/ps3disk.c > index 7b55811c2a81..ba3ece56cbb3 100644 > --- a/drivers/block/ps3disk.c > +++ b/drivers/block/ps3disk.c > @@ -507,7 +507,7 @@ static int ps3disk_probe(struct ps3_system_bus_device > *_dev) > return error; > } > > -static int ps3disk_remove(struct ps3_system_bus_device *_dev) > +static void ps3disk_remove(struct ps3_system_bus_device *_dev) > { > struct ps3_storage_device *dev = to_ps3_storage_device(&_dev->core); > struct ps3disk_private *priv = ps3_system_bus_get_drvdata(&dev->sbd); > @@ -526,7 +526,6 @@ static int ps3disk_remove(struct ps3_system_bus_device > *_dev) > kfree(dev->bounce_buf); > kfree(priv); > ps3_system_bus_set_drvdata(_dev, NULL); > - return 0; > } > > static struct ps3_system_bus_driver ps3disk = { > diff --git a/drivers/block/ps3vram.c b/drivers/block/ps3vram.c > index 1088798c8dd0..b71d28372ef3 100644 > --- a/drivers/block/ps3vram.c > +++ b/drivers/block/ps3vram.c > @@ -797,7 +797,7 @@ static int ps3vram_probe(struct ps3_system_bus_device > *dev) > return error; > } > > -static int ps3vram_remove(struct ps3_system_bus_device *dev) > +static void ps3vram_remove(struct ps3_system_bus_device *dev) > { > struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); > > @@ -817,7 +817,6 @@ static int ps3vram_remove(struct ps3_system_bus_device > *dev) > free_pages((unsigned long) priv->xdr_buf, get_order(XDR_BUF_SIZE)); > kfree(priv); > ps3_system_bus_set_drvdata(dev, NULL); > - return 0; > } > > static struct ps3_system_bus_driver ps3vram = { > diff --git a/drivers/char/ps3fl
Re: [PATCH] drm/mediatek: Use correct aliases name for ovl
Hi, Enric: Enric Balletbo i Serra 於 2020年11月27日 週五 下午7:02寫道: > > Aliases property name must include only lowercase and '-', so fix this > in the driver, so we're not tempted to do "ovl_2l0 = &ovl_2l0" in the > device-tree instead of the right one which is "ovl-2l0 = &ovl_2l0". > Applied to mediatek-drm-next [1], thanks. [1] https://git.kernel.org/pub/scm/linux/kernel/git/chunkuang.hu/linux.git/log/?h=mediatek-drm-next Regards, Chun-Kuang. > Fixes: dd8feb2262d9 ("drm/mediatek: add component OVL_2L1") > Fixes: b17bdd0d7a73 ("drm/mediatek: add component OVL_2L0") > Signed-off-by: Enric Balletbo i Serra > --- > > drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > index 8eba44be3a8a..3064eac1a750 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > @@ -359,7 +359,7 @@ static const struct mtk_ddp_comp_funcs ddp_ufoe = { > > static const char * const mtk_ddp_comp_stem[MTK_DDP_COMP_TYPE_MAX] = { > [MTK_DISP_OVL] = "ovl", > - [MTK_DISP_OVL_2L] = "ovl_2l", > + [MTK_DISP_OVL_2L] = "ovl-2l", > [MTK_DISP_RDMA] = "rdma", > [MTK_DISP_WDMA] = "wdma", > [MTK_DISP_COLOR] = "color", > -- > 2.29.2 > ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH v1 01/28] video: Fix W=1 warnings in of_videomode + of_display_timing
Hi Lee, On Sat, Nov 28, 2020 at 08:28:20AM +, Lee Jones wrote: > On Fri, 27 Nov 2020, Sam Ravnborg wrote: > > > Fix trivial W=1 warnings. > > Update kernel-doc to avoid the warnings. > > Can you put what's being fixed in the subject line please? > > "fix w=1 warnings" is very bland and this it is unlikely to be the > only w=1 warning that gets fixed in these files, so has a high likely > hood of having an identical subject-line as a previous/future patch. > > With regards to the latter point; I have personally found subject > lines to be a pretty reliable way of maintaining/backporting older > kernels. The nomenclature here would taint that pretty readily. Thanks for the feedback and the background for your comment. Will fix them all for v2, Sam ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] drm/ingenic: Add basic PM support
Hi Paul. On Sat, Nov 28, 2020 at 05:16:06PM +, Paul Cercueil wrote: > Call drm_mode_config_helper_suspend() and > drm_mode_config_helper_resume() on suspend and resume, respectively. > > This makes sure that the display stack is properly disabled when the > hardware is put to sleep. > > Signed-off-by: Paul Cercueil As discussed on irc, with resume fixed to return the result of the drm_mode_config_helper_resume() call. Reviewed-by: Sam Ravnborg ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] drm/omap: sdi: fix bridge enable/disable
Hi Tomi, Thank you for the patch. On Fri, Nov 27, 2020 at 10:52:41AM +0200, Tomi Valkeinen wrote: > When the SDI output was converted to DRM bridge, the atomic versions of > enable and disable funcs were used. This was not intended, as that would > require implementing other atomic funcs too. This leads to: > > WARNING: CPU: 0 PID: 18 at drivers/gpu/drm/drm_bridge.c:708 > drm_atomic_helper_commit_modeset_enables+0x134/0x268 > > and display not working. > > Fix this by using the legacy enable/disable funcs. > > Signed-off-by: Tomi Valkeinen > Reported-by: Aaro Koskinen > Fixes: 8bef8a6d5da81b909a190822b96805a47348146f ("drm/omap: sdi: Register a > drm_bridge") > Cc: sta...@vger.kernel.org # v5.7+ > Tested-by: Ivaylo Dimitrov Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/omapdrm/dss/sdi.c | 10 -- > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/dss/sdi.c > b/drivers/gpu/drm/omapdrm/dss/sdi.c > index 033fd30074b0..282e4c837cd9 100644 > --- a/drivers/gpu/drm/omapdrm/dss/sdi.c > +++ b/drivers/gpu/drm/omapdrm/dss/sdi.c > @@ -195,8 +195,7 @@ static void sdi_bridge_mode_set(struct drm_bridge *bridge, > sdi->pixelclock = adjusted_mode->clock * 1000; > } > > -static void sdi_bridge_enable(struct drm_bridge *bridge, > - struct drm_bridge_state *bridge_state) > +static void sdi_bridge_enable(struct drm_bridge *bridge) > { > struct sdi_device *sdi = drm_bridge_to_sdi(bridge); > struct dispc_clock_info dispc_cinfo; > @@ -259,8 +258,7 @@ static void sdi_bridge_enable(struct drm_bridge *bridge, > regulator_disable(sdi->vdds_sdi_reg); > } > > -static void sdi_bridge_disable(struct drm_bridge *bridge, > -struct drm_bridge_state *bridge_state) > +static void sdi_bridge_disable(struct drm_bridge *bridge) > { > struct sdi_device *sdi = drm_bridge_to_sdi(bridge); > > @@ -278,8 +276,8 @@ static const struct drm_bridge_funcs sdi_bridge_funcs = { > .mode_valid = sdi_bridge_mode_valid, > .mode_fixup = sdi_bridge_mode_fixup, > .mode_set = sdi_bridge_mode_set, > - .atomic_enable = sdi_bridge_enable, > - .atomic_disable = sdi_bridge_disable, > + .enable = sdi_bridge_enable, > + .disable = sdi_bridge_disable, > }; > > static void sdi_bridge_init(struct sdi_device *sdi) -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] drm/panel: sony-acx565akm: Fix race condition in probe
Hi Sebastian, Thank you for the patch. On Fri, Nov 27, 2020 at 09:04:29PM +0100, Sebastian Reichel wrote: > The probe routine acquires the reset GPIO using GPIOD_OUT_LOW. Directly > afterwards it calls acx565akm_detect(), which sets the GPIO value to > HIGH. If the bootloader initialized the GPIO to HIGH before the probe > routine was called, there is only a very short time period of a few > instructions where the reset signal is LOW. Exact time depends on > compiler optimizations, kernel configuration and alignment of the stars, > but I expect it to be always way less than 10us. There are no public > datasheets for the panel, but acx565akm_power_on() has a comment with > timings and reset period should be at least 10us. So this potentially > brings the panel into a half-reset state. Good catch. Looks like we got the reset polarity wrong in the driver though. GPIOD_OUT_LOW should mean de-asserted, but the driver expects it to mean low level. We can't fix that as it would require changing the device tree :-( > The result is, that panel may not work after boot and can get into a > working state by re-enabling it (e.g. by blanking + unblanking), since > that does a clean reset cycle. This bug has recently been hit by Ivaylo > Dimitrov, but there are some older reports which are probably the same > bug. At least Tony Lindgren, Peter Ujfalusi and Jarkko Nikula have > experienced it in 2017 describing the blank/unblank procedure as > possible workaround. > > Note, that the bug really goes back in time. It has originally been > introduced in the predecessor of the omapfb driver in 3c45d05be382 > ("OMAPDSS: acx565akm panel: handle gpios in panel driver") in 2012. > That driver eventually got replaced by a newer one, which had the bug > from the beginning in 84192742d9c2 ("OMAPDSS: Add Sony ACX565AKM panel > driver") and still exists in fbdev world. That driver has later been > copied to omapdrm and then was used as a basis for this driver. Last > but not least the omapdrm specific driver has been removed in > 45f16c82db7e ("drm/omap: displays: Remove unused panel drivers"). > > Reported-by: Jarkko Nikula > Reported-by: Peter Ujfalusi > Reported-by: Tony Lindgren > Reported-by: Aaro Koskinen > Reported-by: Ivaylo Dimitrov > Cc: Merlijn Wajer > Cc: Laurent Pinchart > Cc: Tomi Valkeinen > Fixes: 1c8fc3f0c5d2 ("drm/panel: Add driver for the Sony ACX565AKM panel") > Signed-off-by: Sebastian Reichel > --- > drivers/gpu/drm/panel/panel-sony-acx565akm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/panel/panel-sony-acx565akm.c > b/drivers/gpu/drm/panel/panel-sony-acx565akm.c > index e95fdfb16b6c..ba0b3ead150f 100644 > --- a/drivers/gpu/drm/panel/panel-sony-acx565akm.c > +++ b/drivers/gpu/drm/panel/panel-sony-acx565akm.c > @@ -629,7 +629,7 @@ static int acx565akm_probe(struct spi_device *spi) > lcd->spi = spi; > mutex_init(&lcd->mutex); > > - lcd->reset_gpio = devm_gpiod_get(&spi->dev, "reset", GPIOD_OUT_LOW); > + lcd->reset_gpio = devm_gpiod_get(&spi->dev, "reset", GPIOD_OUT_HIGH); Wouldn't it be better to instead add a delay here (or in acx565akm_detect()) ? If the panel is in a wrong state at boot time, a real reset can help. > if (IS_ERR(lcd->reset_gpio)) { > dev_err(&spi->dev, "failed to get reset GPIO\n"); > return PTR_ERR(lcd->reset_gpio); -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 0/28] drivers/video: W=1 warning fixes
Following the great work of Lee Jones in other subsystems here is a set of patches that address all remaining W=1 warnings in drivers/video/. Lee Jones already fixed all warnings in video/backlight/ so this is mostly fbdev related fixes. The general approach used were: - Fix kernel-doc, this is often very trivial - Drop unused local variables - Use no_printk for local logging support Build tested on a set of architectures with various configs. The patches do not depends on each other and in most cases all fixes for one driver is kept in a single patch. The individual changes are trivial so this is a great starter task to try to review these patches. A timely Reviewed-by: or Acked-by: would be very nice so we can get the warnings fixes before we cut for the merge window. v2: - Updated subject of the patches to tell what was fixed (Lee) - Fixed build error in one patch (kernel test robot) - A few editorials updates to the changelog messages Sam Sam Ravnborg (28): video: Fix kernel-doc warnings in of_display_timing + of_videomode video: fbcon: Fix warnings by using pr_debug() in fbcon video: fbdev: core: Fix kernel-doc warnings in fbmon + fb_notify video: fbdev: aty: Delete unused variable in radeon_monitor video: fbdev: aty: Fix set but not used warnings video: fbdev: aty: Fix set but not used warnings in mach64_ct video: fbdev: sis: Fix defined but not used warnings video: fbdev: sis: Fix defined but not used warning of SiS_TVDelay video: fbdev: sis: Fix set but not used warnings in init.c video: fbdev: sis: Fix set but not used warnings in sis_main video: fbdev: via: Fix set but not used warning for mode_crt_table video: fbdev: tdfx: Fix set but not used warning in att_outb() video: fbdev: riva: Fix kernel-doc and set but not used warnings video: fbdev: pm2fb: Fix kernel-doc warnings video: fbdev: neofb: Fix set but not used warning for CursorMem video: fbdev: hgafb: Fix kernel-doc warnings video: fbdev: tgafb: Fix kernel-doc and set but not used warnings video: fbdev: mx3fb: Fix kernel-doc, set but not used and string warnings video: fbdev: sstfb: Updated logging to fix set but not used warnings video: fbdev: nvidia: Fix set but not used warnings video: fbdev: tmiofb: Fix set but not used warnings video: fbdev: omapfb: Fix set but not used warnings in dsi video: fbdev: omapfb: Fix set but not used warnings in hdmi*_core video: fbdev: s3c-fb: Fix kernel-doc and set but not used warnings video: fbdev: uvesafb: Fix set but not used warning video: fbdev: uvesafb: Fix string related warnings video: fbdev: cirrusfb: Fix kernel-doc and set but not used warnings video: fbdev: s1d13xxxfb: Fix kernel-doc and set but not used warnings drivers/video/fbdev/aty/atyfb_base.c | 11 +++- drivers/video/fbdev/aty/mach64_ct.c | 15 ++ drivers/video/fbdev/aty/radeon_monitor.c | 4 +-- drivers/video/fbdev/cirrusfb.c| 20 ++--- drivers/video/fbdev/core/fb_notify.c | 3 +- drivers/video/fbdev/core/fbcon.c | 25 ++--- drivers/video/fbdev/core/fbmon.c | 2 +- drivers/video/fbdev/hgafb.c | 4 +-- drivers/video/fbdev/mx3fb.c | 13 + drivers/video/fbdev/neofb.c | 4 --- drivers/video/fbdev/nvidia/nv_setup.c | 7 ++--- drivers/video/fbdev/omap2/omapfb/dss/dsi.c| 12 ++-- drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c | 4 +-- drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c | 4 +-- drivers/video/fbdev/pm2fb.c | 8 +++--- drivers/video/fbdev/riva/fbdev.c | 9 +++--- drivers/video/fbdev/riva/riva_hw.c| 28 ++- drivers/video/fbdev/s1d13xxxfb.c | 3 +- drivers/video/fbdev/s3c-fb.c | 11 drivers/video/fbdev/sis/init.c| 34 --- drivers/video/fbdev/sis/oem310.h | 2 ++ drivers/video/fbdev/sis/sis.h | 1 - drivers/video/fbdev/sis/sis_main.c| 9 +++--- drivers/video/fbdev/sstfb.c | 2 +- drivers/video/fbdev/tdfxfb.c | 4 +-- drivers/video/fbdev/tgafb.c | 7 ++--- drivers/video/fbdev/tmiofb.c | 6 ++-- drivers/video/fbdev/uvesafb.c | 8 +++--- drivers/video/fbdev/via/lcd.c | 4 +-- drivers/video/of_display_timing.c | 1 + drivers/video/of_videomode.c | 8 +++--- include/video/sstfb.h | 4 +-- 32 files changed, 107 insertions(+), 170 deletions(-) ___ dri-devel m
[PATCH v2 01/28] video: Fix kernel-doc warnings in of_display_timing + of_videomode
Fix kernel-doc warnings reported when using W=1. v2: - Improve subject (Lee) Signed-off-by: Sam Ravnborg Cc: Lee Jones Cc: linux-fb...@vger.kernel.org --- drivers/video/of_display_timing.c | 1 + drivers/video/of_videomode.c | 8 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/video/of_display_timing.c b/drivers/video/of_display_timing.c index abc9ada798ee..f93b6abbe258 100644 --- a/drivers/video/of_display_timing.c +++ b/drivers/video/of_display_timing.c @@ -52,6 +52,7 @@ static int parse_timing_property(const struct device_node *np, const char *name, /** * of_parse_display_timing - parse display_timing entry from device_node * @np: device_node with the properties + * @dt: display_timing that contains the result. I may be partially written in case of errors **/ static int of_parse_display_timing(const struct device_node *np, struct display_timing *dt) diff --git a/drivers/video/of_videomode.c b/drivers/video/of_videomode.c index 67aff2421c29..a5bb02f02b44 100644 --- a/drivers/video/of_videomode.c +++ b/drivers/video/of_videomode.c @@ -13,10 +13,10 @@ #include /** - * of_get_videomode - get the videomode # from devicetree - * @np - devicenode with the display_timings - * @vm - set to return value - * @index - index into list of display_timings + * of_get_videomode: get the videomode # from devicetree + * @np: devicenode with the display_timings + * @vm: set to return value + * @index: index into list of display_timings * (Set this to OF_USE_NATIVE_MODE to use whatever mode is * specified as native mode in the DT.) * -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 03/28] video: fbdev: core: Fix kernel-doc warnings in fbmon + fb_notify
Fix kernel-doc warnings reported when using W=1 v2: - Improve subject (Lee) Signed-off-by: Sam Ravnborg Cc: Lee Jones Cc: Sam Ravnborg Cc: Randy Dunlap Cc: Bartlomiej Zolnierkiewicz Cc: Daniel Vetter Cc: "Alexander A. Klimov" --- drivers/video/fbdev/core/fb_notify.c | 3 ++- drivers/video/fbdev/core/fbmon.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/core/fb_notify.c b/drivers/video/fbdev/core/fb_notify.c index 74c2da528884..d85717b6e14a 100644 --- a/drivers/video/fbdev/core/fb_notify.c +++ b/drivers/video/fbdev/core/fb_notify.c @@ -38,7 +38,8 @@ EXPORT_SYMBOL(fb_unregister_client); /** * fb_notifier_call_chain - notify clients of fb_events - * + * @val: value passed to callback + * @v: pointer passed to callback */ int fb_notifier_call_chain(unsigned long val, void *v) { diff --git a/drivers/video/fbdev/core/fbmon.c b/drivers/video/fbdev/core/fbmon.c index 1bf82dbc9e3c..b0e690f41025 100644 --- a/drivers/video/fbdev/core/fbmon.c +++ b/drivers/video/fbdev/core/fbmon.c @@ -605,6 +605,7 @@ static void get_detailed_timing(unsigned char *block, * fb_create_modedb - create video mode database * @edid: EDID data * @dbsize: database size + * @specs: monitor specifications, may be NULL * * RETURNS: struct fb_videomode, @dbsize contains length of database * @@ -1100,7 +1101,6 @@ static u32 fb_get_hblank_by_hfreq(u32 hfreq, u32 xres) *2 * M *M = 300; *C = 30; - */ static u32 fb_get_hblank_by_dclk(u32 dclk, u32 xres) { -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 04/28] video: fbdev: aty: Delete unused variable in radeon_monitor
Fix warning about variable that is asssigned a value but never used. The variable was indeed never used so delete it. Keep the call to radeon_probe_i2c_connector() as it may have side-effects. It is unlikely but I could not verify that is was safe to drop the call. Signed-off-by: Sam Ravnborg Cc: Benjamin Herrenschmidt Cc: linux-fb...@vger.kernel.org --- drivers/video/fbdev/aty/radeon_monitor.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/video/fbdev/aty/radeon_monitor.c b/drivers/video/fbdev/aty/radeon_monitor.c index 9966c58aa26c..df55e23b7a5a 100644 --- a/drivers/video/fbdev/aty/radeon_monitor.c +++ b/drivers/video/fbdev/aty/radeon_monitor.c @@ -488,12 +488,10 @@ void radeon_probe_screens(struct radeonfb_info *rinfo, #if defined(DEBUG) && defined(CONFIG_FB_RADEON_I2C) { u8 *EDIDs[4] = { NULL, NULL, NULL, NULL }; - int mon_types[4] = {MT_NONE, MT_NONE, MT_NONE, MT_NONE}; int i; for (i = 0; i < 4; i++) - mon_types[i] = radeon_probe_i2c_connector(rinfo, - i+1, &EDIDs[i]); + radeon_probe_i2c_connector(rinfo, i + 1, &EDIDs[i]); } #endif /* DEBUG */ /* -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 02/28] video: fbcon: Fix warnings by using pr_debug() in fbcon
Replacing DPRINTK() statements with pr_debug fixes set but not used warnings. And moves to a more standard logging setup at the same time. v2: - Fix indent (Joe) Signed-off-by: Sam Ravnborg Cc: Joe Perches Cc: Greg Kroah-Hartman Cc: Daniel Vetter Cc: Bartlomiej Zolnierkiewicz Cc: Sam Ravnborg Cc: Jiri Slaby Cc: Peilin Ye Cc: Tetsuo Handa Cc: George Kennedy Cc: Nathan Chancellor Cc: Peter Rosin --- drivers/video/fbdev/core/fbcon.c | 25 - 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c index bf61598bf1c3..44a5cd2f54cc 100644 --- a/drivers/video/fbdev/core/fbcon.c +++ b/drivers/video/fbdev/core/fbcon.c @@ -56,8 +56,6 @@ * more details. */ -#undef FBCONDEBUG - #include #include #include @@ -82,12 +80,6 @@ #include "fbcon.h" -#ifdef FBCONDEBUG -# define DPRINTK(fmt, args...) printk(KERN_DEBUG "%s: " fmt, __func__ , ## args) -#else -# define DPRINTK(fmt, args...) -#endif - /* * FIXME: Locking * @@ -1015,11 +1007,11 @@ static const char *fbcon_startup(void) rows /= vc->vc_font.height; vc_resize(vc, cols, rows); - DPRINTK("mode: %s\n", info->fix.id); - DPRINTK("visual: %d\n", info->fix.visual); - DPRINTK("res:%dx%d-%d\n", info->var.xres, - info->var.yres, - info->var.bits_per_pixel); + pr_debug("mode: %s\n", info->fix.id); + pr_debug("visual: %d\n", info->fix.visual); + pr_debug("res:%dx%d-%d\n", info->var.xres, +info->var.yres, +info->var.bits_per_pixel); fbcon_add_cursor_timer(info); return display_desc; @@ -2013,7 +2005,7 @@ static int fbcon_resize(struct vc_data *vc, unsigned int width, y_diff < 0 || y_diff > virt_fh) { const struct fb_videomode *mode; - DPRINTK("attempting resize %ix%i\n", var.xres, var.yres); + pr_debug("attempting resize %ix%i\n", var.xres, var.yres); mode = fb_find_best_mode(&var, &info->modelist); if (mode == NULL) return -EINVAL; @@ -2023,7 +2015,7 @@ static int fbcon_resize(struct vc_data *vc, unsigned int width, if (virt_w > var.xres/virt_fw || virt_h > var.yres/virt_fh) return -EINVAL; - DPRINTK("resize now %ix%i\n", var.xres, var.yres); + pr_debug("resize now %ix%i\n", var.xres, var.yres); if (con_is_visible(vc)) { var.activate = FB_ACTIVATE_NOW | FB_ACTIVATE_FORCE; @@ -3299,8 +3291,7 @@ static void fbcon_exit(void) if (info->queue.func) pending = cancel_work_sync(&info->queue); - DPRINTK("fbcon: %s pending work\n", (pending ? "canceled" : - "no")); + pr_debug("fbcon: %s pending work\n", (pending ? "canceled" : "no")); for (j = first_fb_vc; j <= last_fb_vc; j++) { if (con2fb_map[j] == i) { -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 05/28] video: fbdev: aty: Fix set but not used warnings
Fix W=1 warnings about variables assigned but never used. - Drop variables that was set but never used - Make variable definition conditional om ATARI v2: - Fix m68k build error (kernel test robot) - Improve subject (Lee Jones) Signed-off-by: Sam Ravnborg Reported-by: kernel test robot # m68k build fix Cc: Lee Jones Cc: Bartlomiej Zolnierkiewicz Cc: Sam Ravnborg Cc: Daniel Vetter Cc: Joe Perches Cc: Vaibhav Gupta Cc: Jason Yan Cc: Randy Dunlap Cc: Jani Nikula --- drivers/video/fbdev/aty/atyfb_base.c | 11 --- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/video/fbdev/aty/atyfb_base.c b/drivers/video/fbdev/aty/atyfb_base.c index c8feff0ee8da..83c8e809955a 100644 --- a/drivers/video/fbdev/aty/atyfb_base.c +++ b/drivers/video/fbdev/aty/atyfb_base.c @@ -2353,6 +2353,9 @@ static int aty_init(struct fb_info *info) int gtb_memsize, has_var = 0; struct fb_var_screeninfo var; int ret; +#ifdef CONFIG_ATARI + u8 dac_type; +#endif init_waitqueue_head(&par->vblank.wait); spin_lock_init(&par->int_lock); @@ -2360,13 +2363,12 @@ static int aty_init(struct fb_info *info) #ifdef CONFIG_FB_ATY_GX if (!M64_HAS(INTEGRATED)) { u32 stat0; - u8 dac_type, dac_subtype, clk_type; + u8 dac_subtype, clk_type; stat0 = aty_ld_le32(CNFG_STAT0, par); par->bus_type = (stat0 >> 0) & 0x07; par->ram_type = (stat0 >> 3) & 0x07; ramname = aty_gx_ram[par->ram_type]; /* FIXME: clockchip/RAMDAC probing? */ - dac_type = (aty_ld_le32(DAC_CNTL, par) >> 16) & 0x07; #ifdef CONFIG_ATARI clk_type = CLK_ATI18818_1; dac_type = (stat0 >> 9) & 0x07; @@ -2375,7 +2377,6 @@ static int aty_init(struct fb_info *info) else dac_subtype = (aty_ld_8(SCRATCH_REG1 + 1, par) & 0xF0) | dac_type; #else - dac_type = DAC_IBMRGB514; dac_subtype = DAC_IBMRGB514; clk_type = CLK_IBMRGB514; #endif @@ -3062,7 +3063,6 @@ static int atyfb_setup_sparc(struct pci_dev *pdev, struct fb_info *info, if (dp == of_console_device) { struct fb_var_screeninfo *var = &default_var; unsigned int N, P, Q, M, T, R; - u32 v_total, h_total; struct crtc crtc; u8 pll_regs[16]; u8 clock_cntl; @@ -3078,9 +3078,6 @@ static int atyfb_setup_sparc(struct pci_dev *pdev, struct fb_info *info, crtc.gen_cntl = aty_ld_le32(CRTC_GEN_CNTL, par); aty_crtc_to_var(&crtc, var); - h_total = var->xres + var->right_margin + var->hsync_len + var->left_margin; - v_total = var->yres + var->lower_margin + var->vsync_len + var->upper_margin; - /* * Read the PLL to figure actual Refresh Rate. */ -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 08/28] video: fbdev: sis: Fix defined but not used warning of SiS_TVDelay
Fix W=1 warning by commenting unused SiS_TVDelay* variables. The SiS_TVDelay* variables seem to contain some magic numbers so looks like data worth keeping around but not as code we build. v2: - Update subject (Lee) Signed-off-by: Sam Ravnborg Cc: Thomas Winischhofer Cc: Lee Jones --- drivers/video/fbdev/sis/oem310.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/video/fbdev/sis/oem310.h b/drivers/video/fbdev/sis/oem310.h index 8fce56e4482c..ed28755715ce 100644 --- a/drivers/video/fbdev/sis/oem310.h +++ b/drivers/video/fbdev/sis/oem310.h @@ -200,6 +200,7 @@ static const unsigned char SiS310_TVDelayCompensation_651302LV[] = /* M650, 651, 0x33,0x33 }; +#if 0 /* Not used */ static const unsigned char SiS_TVDelay661_301[] = /* 661, 301 */ { 0x44,0x44, @@ -219,6 +220,7 @@ static const unsigned char SiS_TVDelay661_301B[] = /* 661, 301B et al */ 0x44,0x44, 0x44,0x44 }; +#endif static const unsigned char SiS310_TVDelayCompensation_LVDS[] = /* LVDS */ { -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 10/28] video: fbdev: sis: Fix set but not used warnings in sis_main
Fix warnings by dropping unused variable and the unused assignments. v2: - Update subject (Lee) Signed-off-by: Sam Ravnborg Cc: Thomas Winischhofer Cc: Lee Jones --- drivers/video/fbdev/sis/sis_main.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/video/fbdev/sis/sis_main.c b/drivers/video/fbdev/sis/sis_main.c index 03c736f6f3d0..266a5582f94d 100644 --- a/drivers/video/fbdev/sis/sis_main.c +++ b/drivers/video/fbdev/sis/sis_main.c @@ -5029,7 +5029,6 @@ static void sisfb_post_xgi_ddr2(struct sis_video_info *ivideo, u8 regb) static const u8 cs168[8] = { 0x48, 0x78, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00 }; - u8 reg; u8 v1; u8 v2; u8 v3; @@ -5037,9 +5036,9 @@ static void sisfb_post_xgi_ddr2(struct sis_video_info *ivideo, u8 regb) SiS_SetReg(SISCR, 0xb0, 0x80); /* DDR2 dual frequency mode */ SiS_SetReg(SISCR, 0x82, 0x77); SiS_SetReg(SISCR, 0x86, 0x00); - reg = SiS_GetReg(SISCR, 0x86); + SiS_GetReg(SISCR, 0x86); SiS_SetReg(SISCR, 0x86, 0x88); - reg = SiS_GetReg(SISCR, 0x86); + SiS_GetReg(SISCR, 0x86); v1 = cs168[regb]; v2 = cs160[regb]; v3 = cs158[regb]; if (ivideo->haveXGIROM) { v1 = bios[regb + 0x168]; @@ -5049,9 +5048,9 @@ static void sisfb_post_xgi_ddr2(struct sis_video_info *ivideo, u8 regb) SiS_SetReg(SISCR, 0x86, v1); SiS_SetReg(SISCR, 0x82, 0x77); SiS_SetReg(SISCR, 0x85, 0x00); - reg = SiS_GetReg(SISCR, 0x85); + SiS_GetReg(SISCR, 0x85); SiS_SetReg(SISCR, 0x85, 0x88); - reg = SiS_GetReg(SISCR, 0x85); + SiS_GetReg(SISCR, 0x85); SiS_SetReg(SISCR, 0x85, v2); SiS_SetReg(SISCR, 0x82, v3); SiS_SetReg(SISCR, 0x98, 0x01); -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 06/28] video: fbdev: aty: Fix set but not used warnings in mach64_ct
Fix W=1 warnings about variables assigned but never used. - One variable is only used when CONFIG_FB_ATY_GENERIC_LCD is defined Fix so variable is only defined with CONFIG_FB_ATY_GENERIC_LCD - Several variables was only assigned by a call to aty_ld_le32(). Drop the variables but keep the call to aty_ld_le32() as it may have unexpected side-effects. v2: - Updated subject (Lee) Signed-off-by: Sam Ravnborg Cc: Lee Jones --- drivers/video/fbdev/aty/mach64_ct.c | 15 +-- 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/video/fbdev/aty/mach64_ct.c b/drivers/video/fbdev/aty/mach64_ct.c index f87cc81f4fa2..011b07e44e0d 100644 --- a/drivers/video/fbdev/aty/mach64_ct.c +++ b/drivers/video/fbdev/aty/mach64_ct.c @@ -281,10 +281,13 @@ static u32 aty_pll_to_var_ct(const struct fb_info *info, const union aty_pll *pl void aty_set_pll_ct(const struct fb_info *info, const union aty_pll *pll) { struct atyfb_par *par = (struct atyfb_par *) info->par; - u32 crtc_gen_cntl, lcd_gen_cntrl; + u32 crtc_gen_cntl; u8 tmp, tmp2; - lcd_gen_cntrl = 0; +#ifdef CONFIG_FB_ATY_GENERIC_LCD + u32 lcd_gen_cntrl = 0; +#endif + #ifdef DEBUG printk("atyfb(%s): about to program:\n" "pll_ext_cntl=0x%02x pll_gen_cntl=0x%02x pll_vclk_cntl=0x%02x\n", @@ -402,7 +405,7 @@ static int aty_init_pll_ct(const struct fb_info *info, union aty_pll *pll) struct atyfb_par *par = (struct atyfb_par *) info->par; u8 mpost_div, xpost_div, sclk_post_div_real; u32 q, memcntl, trp; - u32 dsp_config, dsp_on_off, vga_dsp_config, vga_dsp_on_off; + u32 dsp_config; #ifdef DEBUG int pllmclk, pllsclk; #endif @@ -488,9 +491,9 @@ static int aty_init_pll_ct(const struct fb_info *info, union aty_pll *pll) /* Allow BIOS to override */ dsp_config = aty_ld_le32(DSP_CONFIG, par); - dsp_on_off = aty_ld_le32(DSP_ON_OFF, par); - vga_dsp_config = aty_ld_le32(VGA_DSP_CONFIG, par); - vga_dsp_on_off = aty_ld_le32(VGA_DSP_ON_OFF, par); + aty_ld_le32(DSP_ON_OFF, par); + aty_ld_le32(VGA_DSP_CONFIG, par); + aty_ld_le32(VGA_DSP_ON_OFF, par); if (dsp_config) pll->ct.dsp_loop_latency = (dsp_config & DSP_LOOP_LATENCY) >> 16; -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 11/28] video: fbdev: via: Fix set but not used warning for mode_crt_table
Fix warning by deleting the variable. The function call viafb_get_best_mode() were verified to have no side-effects, and thus could be dropped too. v2: - Update subject (Lee) Signed-off-by: Sam Ravnborg Cc: Florian Tobias Schandinat Cc: linux-fb...@vger.kernel.org Cc: Lee Jones --- drivers/video/fbdev/via/lcd.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/video/fbdev/via/lcd.c b/drivers/video/fbdev/via/lcd.c index 4a869402d120..088b962076b5 100644 --- a/drivers/video/fbdev/via/lcd.c +++ b/drivers/video/fbdev/via/lcd.c @@ -537,11 +537,9 @@ void viafb_lcd_set_mode(const struct fb_var_screeninfo *var, u16 cxres, u32 clock; struct via_display_timing timing; struct fb_var_screeninfo panel_var; - const struct fb_videomode *mode_crt_table, *panel_crt_table; + const struct fb_videomode *panel_crt_table; DEBUG_MSG(KERN_INFO "viafb_lcd_set_mode!!\n"); - /* Get mode table */ - mode_crt_table = viafb_get_best_mode(set_hres, set_vres, 60); /* Get panel table Pointer */ panel_crt_table = viafb_get_best_mode(panel_hres, panel_vres, 60); viafb_fill_var_timing_info(&panel_var, panel_crt_table); -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 15/28] video: fbdev: neofb: Fix set but not used warning for CursorMem
Fix W=1 warnings by removing unused code v2: - Updated subject (Lee) Signed-off-by: Sam Ravnborg Cc: Bartlomiej Zolnierkiewicz Cc: Sam Ravnborg Cc: Andrew Morton Cc: Evgeny Novikov Cc: Jani Nikula Cc: Mike Rapoport Cc: Lee Jones --- drivers/video/fbdev/neofb.c | 4 1 file changed, 4 deletions(-) diff --git a/drivers/video/fbdev/neofb.c b/drivers/video/fbdev/neofb.c index 09a20d4ab35f..c0f4f402da3f 100644 --- a/drivers/video/fbdev/neofb.c +++ b/drivers/video/fbdev/neofb.c @@ -1843,7 +1843,6 @@ static int neo_init_hw(struct fb_info *info) struct neofb_par *par = info->par; int videoRam = 896; int maxClock = 65000; - int CursorMem = 1024; int CursorOff = 0x100; DBG("neo_init_hw"); @@ -1895,19 +1894,16 @@ static int neo_init_hw(struct fb_info *info) case FB_ACCEL_NEOMAGIC_NM2070: case FB_ACCEL_NEOMAGIC_NM2090: case FB_ACCEL_NEOMAGIC_NM2093: - CursorMem = 2048; CursorOff = 0x100; break; case FB_ACCEL_NEOMAGIC_NM2097: case FB_ACCEL_NEOMAGIC_NM2160: - CursorMem = 1024; CursorOff = 0x100; break; case FB_ACCEL_NEOMAGIC_NM2200: case FB_ACCEL_NEOMAGIC_NM2230: case FB_ACCEL_NEOMAGIC_NM2360: case FB_ACCEL_NEOMAGIC_NM2380: - CursorMem = 1024; CursorOff = 0x1000; par->neo2200 = (Neo2200 __iomem *) par->mmio_vbase; -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 16/28] video: fbdev: hgafb: Fix kernel-doc warnings
Fix kernel-doc comments. v2: - Updated subject (Lee) Signed-off-by: Sam Ravnborg Cc: Ferenc Bakonyi Cc: linux-nvi...@lists.surfsouth.com Cc: Lee Jones --- drivers/video/fbdev/hgafb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/hgafb.c b/drivers/video/fbdev/hgafb.c index a45fcff1461f..69af72937844 100644 --- a/drivers/video/fbdev/hgafb.c +++ b/drivers/video/fbdev/hgafb.c @@ -358,7 +358,7 @@ static int hga_card_detect(void) /** * hgafb_open - open the framebuffer device * @info:pointer to fb_info object containing info for current hga board - * @int:open by console system or userland. + * @init:open by console system or userland. */ static int hgafb_open(struct fb_info *info, int init) @@ -372,7 +372,7 @@ static int hgafb_open(struct fb_info *info, int init) /** * hgafb_open - open the framebuffer device * @info:pointer to fb_info object containing info for current hga board - * @int:open by console system or userland. + * @init:open by console system or userland. */ static int hgafb_release(struct fb_info *info, int init) -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 14/28] video: fbdev: pm2fb: Fix kernel-doc warnings
Fixed a few kernel-doc issues to fix the warnings. v2: - Updated subject (Lee) Signed-off-by: Sam Ravnborg Cc: Sam Ravnborg Cc: "Gustavo A. R. Silva" Cc: Randy Dunlap Cc: Arnd Bergmann Cc: Bartlomiej Zolnierkiewicz Cc: Jani Nikula Cc: Lee Jones --- drivers/video/fbdev/pm2fb.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/video/fbdev/pm2fb.c b/drivers/video/fbdev/pm2fb.c index 27893fa139b0..c68725eebee3 100644 --- a/drivers/video/fbdev/pm2fb.c +++ b/drivers/video/fbdev/pm2fb.c @@ -1508,8 +1508,8 @@ static const struct fb_ops pm2fb_ops = { * * Initialise and allocate resource for PCI device. * - * @param pdevPCI device. - * @param id PCI device ID. + * @pdev: PCI device. + * @id:PCI device ID. */ static int pm2fb_probe(struct pci_dev *pdev, const struct pci_device_id *id) { @@ -1715,7 +1715,7 @@ static int pm2fb_probe(struct pci_dev *pdev, const struct pci_device_id *id) * * Release all device resources. * - * @param pdevPCI device to clean up. + * @pdev: PCI device to clean up. */ static void pm2fb_remove(struct pci_dev *pdev) { @@ -1756,7 +1756,7 @@ MODULE_DEVICE_TABLE(pci, pm2fb_id_table); #ifndef MODULE -/** +/* * Parse user specified options. * * This is, comma-separated options following `video=pm2fb:'. -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 17/28] video: fbdev: tgafb: Fix kernel-doc and set but not used warnings
Fix W=1 warnings: - Fix kernel-doc - Drop unused code v2: - Updated subject (Lee) Signed-off-by: Sam Ravnborg Cc: Sam Ravnborg Cc: Jani Nikula Cc: Bartlomiej Zolnierkiewicz Cc: Daniel Vetter Cc: Arnd Bergmann Cc: Joe Perches Cc: Lee Jones --- drivers/video/fbdev/tgafb.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/video/fbdev/tgafb.c b/drivers/video/fbdev/tgafb.c index 666fbe2f671c..ae0cf5540636 100644 --- a/drivers/video/fbdev/tgafb.c +++ b/drivers/video/fbdev/tgafb.c @@ -555,7 +555,7 @@ tgafb_setcolreg(unsigned regno, unsigned red, unsigned green, unsigned blue, /** * tgafb_blank - Optional function. Blanks the display. - * @blank_mode: the blank mode we want. + * @blank: the blank mode we want. * @info: frame buffer structure that represents a single frame buffer */ static int @@ -837,7 +837,7 @@ tgafb_clut_imageblit(struct fb_info *info, const struct fb_image *image) u32 *palette = ((u32 *)info->pseudo_palette); unsigned long pos, line_length, i, j; const unsigned char *data; - void __iomem *regs_base, *fb_base; + void __iomem *fb_base; dx = image->dx; dy = image->dy; @@ -855,7 +855,6 @@ tgafb_clut_imageblit(struct fb_info *info, const struct fb_image *image) if (dy + height > vyres) height = vyres - dy; - regs_base = par->tga_regs_base; fb_base = par->tga_fb_base; pos = dy * line_length + (dx * 4); @@ -1034,7 +1033,7 @@ tgafb_fillrect(struct fb_info *info, const struct fb_fillrect *rect) regs_base + TGA_MODE_REG); } -/** +/* * tgafb_copyarea - REQUIRED function. Can use generic routines if * non acclerated hardware and packed pixel based. * Copies on area of the screen to another area. -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 12/28] video: fbdev: tdfx: Fix set but not used warning in att_outb()
The tmp variable were assigned but the result was never used, so delete the tmp variable. v2: - Update subject (Lee) Signed-off-by: Sam Ravnborg Cc: "Gustavo A. R. Silva" Cc: Sam Ravnborg Cc: Jani Nikula Cc: Daniel Vetter Cc: Arnd Bergmann Cc: Lee Jones --- drivers/video/fbdev/tdfxfb.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/video/fbdev/tdfxfb.c b/drivers/video/fbdev/tdfxfb.c index f056d80f6359..67e37a62b07c 100644 --- a/drivers/video/fbdev/tdfxfb.c +++ b/drivers/video/fbdev/tdfxfb.c @@ -206,9 +206,7 @@ static inline u8 crt_inb(struct tdfx_par *par, u32 idx) static inline void att_outb(struct tdfx_par *par, u32 idx, u8 val) { - unsigned char tmp; - - tmp = vga_inb(par, IS1_R); + vga_inb(par, IS1_R); vga_outb(par, ATT_IW, idx); vga_outb(par, ATT_IW, val); } -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 18/28] video: fbdev: mx3fb: Fix kernel-doc, set but not used and string warnings
Fix W=1 warnings: - Fix kernel-doc - Drop unused code/variables - Use memcpy to copy a string without zero-termination strncpy() generates a warning v2: - Updated subject (Lee) Signed-off-by: Sam Ravnborg Cc: Sam Ravnborg Cc: Jani Nikula Cc: Laurent Pinchart Cc: Daniel Vetter Cc: Xiaofei Tan Cc: Arnd Bergmann Cc: Lee Jones --- drivers/video/fbdev/mx3fb.c | 13 - 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/video/fbdev/mx3fb.c b/drivers/video/fbdev/mx3fb.c index 894617ddabcb..fabb271337ed 100644 --- a/drivers/video/fbdev/mx3fb.c +++ b/drivers/video/fbdev/mx3fb.c @@ -445,7 +445,6 @@ static void sdc_enable_channel(struct mx3fb_info *mx3_fbi) static void sdc_disable_channel(struct mx3fb_info *mx3_fbi) { struct mx3fb_data *mx3fb = mx3_fbi->mx3fb; - uint32_t enabled; unsigned long flags; if (mx3_fbi->txd == NULL) @@ -453,7 +452,7 @@ static void sdc_disable_channel(struct mx3fb_info *mx3_fbi) spin_lock_irqsave(&mx3fb->lock, flags); - enabled = sdc_fb_uninit(mx3_fbi); + sdc_fb_uninit(mx3_fbi); spin_unlock_irqrestore(&mx3fb->lock, flags); @@ -732,7 +731,7 @@ static int mx3fb_unmap_video_memory(struct fb_info *fbi); /** * mx3fb_set_fix() - set fixed framebuffer parameters from variable settings. - * @info: framebuffer information pointer + * @fbi: framebuffer information pointer * @return:0 on success or negative error code on failure. */ static int mx3fb_set_fix(struct fb_info *fbi) @@ -740,7 +739,7 @@ static int mx3fb_set_fix(struct fb_info *fbi) struct fb_fix_screeninfo *fix = &fbi->fix; struct fb_var_screeninfo *var = &fbi->var; - strncpy(fix->id, "DISP3 BG", 8); + memcpy(fix->id, "DISP3 BG", 8); fix->line_length = var->xres_virtual * var->bits_per_pixel / 8; @@ -1105,6 +1104,8 @@ static void __blank(int blank, struct fb_info *fbi) /** * mx3fb_blank() - blank the display. + * @blank: blank value for the panel + * @fbi: framebuffer information pointer */ static int mx3fb_blank(int blank, struct fb_info *fbi) { @@ -1126,7 +1127,7 @@ static int mx3fb_blank(int blank, struct fb_info *fbi) /** * mx3fb_pan_display() - pan or wrap the display * @var: variable screen buffer information. - * @info: framebuffer information pointer. + * @fbi: framebuffer information pointer. * * We look only at xoffset, yoffset and the FB_VMODE_YWRAP flag */ @@ -1387,6 +1388,8 @@ static int mx3fb_unmap_video_memory(struct fb_info *fbi) /** * mx3fb_init_fbinfo() - initialize framebuffer information object. + * @dev: the device + * @ops: framebuffer device operations * @return:initialized framebuffer structure. */ static struct fb_info *mx3fb_init_fbinfo(struct device *dev, -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 09/28] video: fbdev: sis: Fix set but not used warnings in init.c
Fix set bit not used warnings by removing the code the assign the variables and the definition of the variables. A register read is kept as it may have unknown side-effects. This removes a lot of unused code - which is always a good thing to do. v2: - Updated subject (Lee) Signed-off-by: Sam Ravnborg Cc: Thomas Winischhofer Cc: Lee Jones --- drivers/video/fbdev/sis/init.c | 34 ++ 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/drivers/video/fbdev/sis/init.c b/drivers/video/fbdev/sis/init.c index fde27feae5d0..b77ea1a8825a 100644 --- a/drivers/video/fbdev/sis/init.c +++ b/drivers/video/fbdev/sis/init.c @@ -2648,7 +2648,7 @@ static void SiS_SetCRT1ModeRegs(struct SiS_Private *SiS_Pr, unsigned short ModeNo, unsigned short ModeIdIndex, unsigned short RRTI) { - unsigned short data, infoflag = 0, modeflag, resindex; + unsigned short data, infoflag = 0, modeflag; #ifdef CONFIG_FB_SIS_315 unsigned char *ROMAddr = SiS_Pr->VirtualRomBase; unsigned short data2, data3; @@ -2659,7 +2659,7 @@ SiS_SetCRT1ModeRegs(struct SiS_Private *SiS_Pr, unsigned short ModeNo, if(SiS_Pr->UseCustomMode) { infoflag = SiS_Pr->CInfoFlag; } else { - resindex = SiS_GetResInfo(SiS_Pr, ModeNo, ModeIdIndex); + SiS_GetResInfo(SiS_Pr, ModeNo, ModeIdIndex); if(ModeNo > 0x13) { infoflag = SiS_Pr->SiS_RefIndex[RRTI].Ext_InfoFlag; } @@ -3538,17 +3538,13 @@ SiS_Generic_ConvertCRData(struct SiS_Private *SiS_Pr, unsigned char *crdata, struct fb_var_screeninfo *var, bool writeres ) { - unsigned short HRE, HBE, HRS, HBS, HDE, HT; - unsigned short VRE, VBE, VRS, VBS, VDE, VT; - unsigned char sr_data, cr_data, cr_data2; - intA, B, C, D, E, F, temp; + unsigned short HRE, HBE, HRS, HDE; + unsigned short VRE, VBE, VRS, VDE; + unsigned char sr_data, cr_data; + intB, C, D, E, F, temp; sr_data = crdata[14]; - /* Horizontal total */ - HT = crdata[0] | ((unsigned short)(sr_data & 0x03) << 8); - A = HT + 5; - /* Horizontal display enable end */ HDE = crdata[1] | ((unsigned short)(sr_data & 0x0C) << 6); E = HDE + 1; @@ -3557,9 +3553,6 @@ SiS_Generic_ConvertCRData(struct SiS_Private *SiS_Pr, unsigned char *crdata, HRS = crdata[4] | ((unsigned short)(sr_data & 0xC0) << 2); F = HRS - E - 3; - /* Horizontal blank start */ - HBS = crdata[2] | ((unsigned short)(sr_data & 0x30) << 4); - sr_data = crdata[15]; cr_data = crdata[5]; @@ -3588,13 +3581,6 @@ SiS_Generic_ConvertCRData(struct SiS_Private *SiS_Pr, unsigned char *crdata, sr_data = crdata[13]; cr_data = crdata[7]; - /* Vertical total */ - VT = crdata[6] | -((unsigned short)(cr_data & 0x01) << 8) | -((unsigned short)(cr_data & 0x20) << 4) | -((unsigned short)(sr_data & 0x01) << 10); - A = VT + 2; - /* Vertical display enable end */ VDE = crdata[10] | ((unsigned short)(cr_data & 0x02) << 7) | @@ -3609,14 +3595,6 @@ SiS_Generic_ConvertCRData(struct SiS_Private *SiS_Pr, unsigned char *crdata, ((unsigned short)(sr_data & 0x08) << 7); F = VRS + 1 - E; - cr_data2 = (crdata[16] & 0x01) << 5; - - /* Vertical blank start */ - VBS = crdata[11] | -((unsigned short)(cr_data & 0x08) << 5) | -((unsigned short)(cr_data2 & 0x20) << 4) | -((unsigned short)(sr_data & 0x04) << 8); - /* Vertical blank end */ VBE = crdata[12] | ((unsigned short)(sr_data & 0x10) << 4); temp = VBE - ((E - 1) & 511); -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 13/28] video: fbdev: riva: Fix kernel-doc and set but not used warnings
Fix W=1 warnings: - Fix kernel-doc - Drop unused variables/code v2: - Updated subject (Lee) Signed-off-by: Sam Ravnborg Cc: Antonino Daplas Cc: linux-fb...@vger.kernel.org Cc: Lee Jones --- drivers/video/fbdev/riva/fbdev.c | 9 - drivers/video/fbdev/riva/riva_hw.c | 28 2 files changed, 12 insertions(+), 25 deletions(-) diff --git a/drivers/video/fbdev/riva/fbdev.c b/drivers/video/fbdev/riva/fbdev.c index ce55b9d2e862..4b0433cb 100644 --- a/drivers/video/fbdev/riva/fbdev.c +++ b/drivers/video/fbdev/riva/fbdev.c @@ -464,7 +464,7 @@ static inline void reverse_order(u32 *l) /** * rivafb_load_cursor_image - load cursor image to hardware - * @data: address to monochrome bitmap (1 = foreground color, 0 = background) + * @data8: address to monochrome bitmap (1 = foreground color, 0 = background) * @par: pointer to private data * @w:width of cursor image in pixels * @h:height of cursor image in scanlines @@ -843,9 +843,9 @@ static void riva_update_var(struct fb_var_screeninfo *var, /** * rivafb_do_maximize - * @info: pointer to fb_info object containing info for current riva board - * @var: - * @nom: - * @den: + * @var: standard kernel fb changeable data + * @nom: nom + * @den: den * * DESCRIPTION: * . @@ -1214,7 +1214,6 @@ static int rivafb_set_par(struct fb_info *info) /** * rivafb_pan_display * @var: standard kernel fb changeable data - * @con: TODO * @info: pointer to fb_info object containing info for current riva board * * DESCRIPTION: diff --git a/drivers/video/fbdev/riva/riva_hw.c b/drivers/video/fbdev/riva/riva_hw.c index bcf9c4b4de31..8b829b720064 100644 --- a/drivers/video/fbdev/riva/riva_hw.c +++ b/drivers/video/fbdev/riva/riva_hw.c @@ -836,17 +836,17 @@ static void nv10CalcArbitration nv10_sim_state *arb ) { -int data, pagemiss, cas,width, video_enable, bpp; -int nvclks, mclks, pclks, vpagemiss, crtpagemiss, vbs; -int nvclk_fill, us_extra; +int data, pagemiss, width, video_enable, bpp; +int nvclks, mclks, pclks, vpagemiss, crtpagemiss; +int nvclk_fill; int found, mclk_extra, mclk_loop, cbs, m1; int mclk_freq, pclk_freq, nvclk_freq, mp_enable; -int us_m, us_m_min, us_n, us_p, video_drain_rate, crtc_drain_rate; -int vus_m, vus_n, vus_p; -int vpm_us, us_video, vlwm, cpm_us, us_crt,clwm; +int us_m, us_m_min, us_n, us_p, crtc_drain_rate; +int vus_m; +int vpm_us, us_video, cpm_us, us_crt,clwm; int clwm_rnd_down; -int craw, m2us, us_pipe, us_pipe_min, vus_pipe, p1clk, p2; -int pclks_2_top_fifo, min_mclk_extra; +int m2us, us_pipe_min, p1clk, p2; +int min_mclk_extra; int us_min_mclk_extra; fifo->valid = 1; @@ -854,16 +854,13 @@ static void nv10CalcArbitration mclk_freq = arb->mclk_khz; nvclk_freq = arb->nvclk_khz; pagemiss = arb->mem_page_miss; -cas = arb->mem_latency; width = arb->memory_width/64; video_enable = arb->enable_video; bpp = arb->pix_bpp; mp_enable = arb->enable_mp; clwm = 0; -vlwm = 1024; cbs = 512; -vbs = 512; pclks = 4; /* lwm detect. */ @@ -924,17 +921,11 @@ static void nv10CalcArbitration us_min_mclk_extra = min_mclk_extra *1000*1000 / mclk_freq; us_n = nvclks*1000*1000 / nvclk_freq;/* nvclk latency in us */ us_p = pclks*1000*1000 / pclk_freq;/* nvclk latency in us */ - us_pipe = us_m + us_n + us_p; us_pipe_min = us_m_min + us_n + us_p; - us_extra = 0; vus_m = mclk_loop *1000*1000 / mclk_freq; /* Mclk latency in us */ - vus_n = (4)*1000*1000 / nvclk_freq;/* nvclk latency in us */ - vus_p = 0*1000*1000 / pclk_freq;/* pclk latency in us */ - vus_pipe = vus_m + vus_n + vus_p; if(video_enable) { -video_drain_rate = pclk_freq * 4; /* MB/s */ crtc_drain_rate = pclk_freq * bpp/8; /* MB/s */ vpagemiss = 1; /* self generating page miss */ @@ -993,7 +984,6 @@ static void nv10CalcArbitration else if(crtc_drain_rate * 100 >= nvclk_fill * 98) { clwm = 1024; cbs = 512; - us_extra = (cbs * 1000 * 1000)/ (8*width)/mclk_freq ; } } } @@ -1010,7 +1000,6 @@ static void nv10CalcArbitration m1 = clwm + cbs - 1024; /* Amount of overfill */ m2us = us_pipe_min + us_min_mclk_extra; - pclks_2_top_fifo = (1024-clwm)/(8*width); /* pclk cycles to drain */ p1clk = m2us * pclk_freq/(1000*1000); @@ -1038,7 +1027,6 @@ static void nv10CalcArbitration min_mclk_extra--; } } - craw = clwm; if(clwm < (1024-cbs+8)) clwm = 1024-cbs+8; data = (int)(clwm); -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 20/28] video: fbdev: nvidia: Fix set but not used warnings
Fix warnings by deleting unused code. The register reads are kept as it is unknown if there are any hidden side-effects. v2: - Update subject (Lee) Signed-off-by: Sam Ravnborg Cc: Antonino Daplas Cc: linux-fb...@vger.kernel.org Cc: Lee Jones --- drivers/video/fbdev/nvidia/nv_setup.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/video/fbdev/nvidia/nv_setup.c b/drivers/video/fbdev/nvidia/nv_setup.c index 2fa68669613a..5404017e6957 100644 --- a/drivers/video/fbdev/nvidia/nv_setup.c +++ b/drivers/video/fbdev/nvidia/nv_setup.c @@ -89,9 +89,8 @@ u8 NVReadSeq(struct nvidia_par *par, u8 index) } void NVWriteAttr(struct nvidia_par *par, u8 index, u8 value) { - volatile u8 tmp; - tmp = VGA_RD08(par->PCIO, par->IOBase + 0x0a); + VGA_RD08(par->PCIO, par->IOBase + 0x0a); if (par->paletteEnabled) index &= ~0x20; else @@ -101,9 +100,7 @@ void NVWriteAttr(struct nvidia_par *par, u8 index, u8 value) } u8 NVReadAttr(struct nvidia_par *par, u8 index) { - volatile u8 tmp; - - tmp = VGA_RD08(par->PCIO, par->IOBase + 0x0a); + VGA_RD08(par->PCIO, par->IOBase + 0x0a); if (par->paletteEnabled) index &= ~0x20; else -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 22/28] video: fbdev: omapfb: Fix set but not used warnings in dsi
Fix several W=1 warnings. This removes unused code and avoids an assignment by moving the use inside the conditional block. The register read FLD_GET(r, 15, 8) could be dropped as it was done a few lines before too. v2: - Updated subject (Lee) Signed-off-by: Sam Ravnborg Cc: Aditya Pakki Cc: Sam Ravnborg Cc: Bartlomiej Zolnierkiewicz Cc: Lee Jones --- drivers/video/fbdev/omap2/omapfb/dss/dsi.c | 12 +++- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dsi.c b/drivers/video/fbdev/omap2/omapfb/dss/dsi.c index 6f9c25fec994..72d45a02c3ac 100644 --- a/drivers/video/fbdev/omap2/omapfb/dss/dsi.c +++ b/drivers/video/fbdev/omap2/omapfb/dss/dsi.c @@ -1178,13 +1178,12 @@ static int dsi_regulator_init(struct platform_device *dsidev) static void _dsi_print_reset_status(struct platform_device *dsidev) { - u32 l; int b0, b1, b2; /* A dummy read using the SCP interface to any DSIPHY register is * required after DSIPHY reset to complete the reset of the DSI complex * I/O. */ - l = dsi_read_reg(dsidev, DSI_DSIPHY_CFG5); + dsi_read_reg(dsidev, DSI_DSIPHY_CFG5); if (dss_has_feature(FEAT_DSI_REVERSE_TXCLKESC)) { b0 = 28; @@ -3627,7 +3626,7 @@ static int dsi_proto_config(struct platform_device *dsidev) static void dsi_proto_timings(struct platform_device *dsidev) { struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); - unsigned tlpx, tclk_zero, tclk_prepare, tclk_trail; + unsigned tlpx, tclk_zero, tclk_prepare; unsigned tclk_pre, tclk_post; unsigned ths_prepare, ths_prepare_ths_zero, ths_zero; unsigned ths_trail, ths_exit; @@ -3646,7 +3645,6 @@ static void dsi_proto_timings(struct platform_device *dsidev) r = dsi_read_reg(dsidev, DSI_DSIPHY_CFG1); tlpx = FLD_GET(r, 20, 16) * 2; - tclk_trail = FLD_GET(r, 15, 8); tclk_zero = FLD_GET(r, 7, 0); r = dsi_read_reg(dsidev, DSI_DSIPHY_CFG2); @@ -4040,7 +4038,6 @@ static int dsi_update(struct omap_dss_device *dssdev, int channel, { struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); - u16 dw, dh; dsi_perf_mark_setup(dsidev); @@ -4049,11 +4046,8 @@ static int dsi_update(struct omap_dss_device *dssdev, int channel, dsi->framedone_callback = callback; dsi->framedone_data = data; - dw = dsi->timings.x_res; - dh = dsi->timings.y_res; - #ifdef DSI_PERF_MEASURE - dsi->update_bytes = dw * dh * + dsi->update_bytes = dsi->timings.x_res * dsi->timings.y_res * dsi_get_pixel_size(dsi->pix_fmt) / 8; #endif dsi_update_screen_dispc(dsidev); -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 23/28] video: fbdev: omapfb: Fix set but not used warnings in hdmi*_core
Fix a few W=1 warnings about unused assignments. Drop the unused error code. v2: - Subject updated (Lee) Signed-off-by: Sam Ravnborg Cc: Sam Ravnborg Cc: Qilong Zhang Cc: "Alexander A. Klimov" Cc: Daniel Vetter Cc: Lee Jones --- drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c | 4 ++-- drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c b/drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c index 726c190862d4..e6363a420933 100644 --- a/drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c +++ b/drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c @@ -679,7 +679,7 @@ int hdmi4_audio_config(struct hdmi_core_data *core, struct hdmi_wp_data *wp, struct hdmi_audio_format audio_format; struct hdmi_audio_dma audio_dma; struct hdmi_core_audio_config acore; - int err, n, cts, channel_count; + int n, cts, channel_count; unsigned int fs_nr; bool word_length_16b = false; @@ -741,7 +741,7 @@ int hdmi4_audio_config(struct hdmi_core_data *core, struct hdmi_wp_data *wp, return -EINVAL; } - err = hdmi_compute_acr(pclk, fs_nr, &n, &cts); + hdmi_compute_acr(pclk, fs_nr, &n, &cts); /* Audio clock regeneration settings */ acore.n = n; diff --git a/drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c b/drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c index eda29d3032e1..cb63bc0e92ca 100644 --- a/drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c +++ b/drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c @@ -790,7 +790,7 @@ int hdmi5_audio_config(struct hdmi_core_data *core, struct hdmi_wp_data *wp, struct hdmi_audio_format audio_format; struct hdmi_audio_dma audio_dma; struct hdmi_core_audio_config core_cfg; - int err, n, cts, channel_count; + int n, cts, channel_count; unsigned int fs_nr; bool word_length_16b = false; @@ -833,7 +833,7 @@ int hdmi5_audio_config(struct hdmi_core_data *core, struct hdmi_wp_data *wp, return -EINVAL; } - err = hdmi_compute_acr(pclk, fs_nr, &n, &cts); + hdmi_compute_acr(pclk, fs_nr, &n, &cts); core_cfg.n = n; core_cfg.cts = cts; -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 27/28] video: fbdev: cirrusfb: Fix kernel-doc and set but not used warnings
Fix warnings: - drop kernel-doc for the two debug functions to avoid the warnings - delete unused code v2: - Updated subject (Lee) Signed-off-by: Sam Ravnborg Cc: Thomas Zimemrmann Cc: Sam Ravnborg Cc: "Gustavo A. R. Silva" Cc: Daniel Vetter Cc: Saeed Mirzamohammadi Cc: Jani Nikula Cc: Mike Rapoport Cc: Lee Jones --- drivers/video/fbdev/cirrusfb.c | 20 +--- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/drivers/video/fbdev/cirrusfb.c b/drivers/video/fbdev/cirrusfb.c index e9027172c0f5..93802abbbc72 100644 --- a/drivers/video/fbdev/cirrusfb.c +++ b/drivers/video/fbdev/cirrusfb.c @@ -2463,8 +2463,6 @@ static void AttrOn(const struct cirrusfb_info *cinfo) */ static void WHDR(const struct cirrusfb_info *cinfo, unsigned char val) { - unsigned char dummy; - if (is_laguna(cinfo)) return; if (cinfo->btype == BT_PICASSO) { @@ -2473,18 +2471,18 @@ static void WHDR(const struct cirrusfb_info *cinfo, unsigned char val) WGen(cinfo, VGA_PEL_MSK, 0x00); udelay(200); /* next read dummy from pixel address (3c8) */ - dummy = RGen(cinfo, VGA_PEL_IW); + RGen(cinfo, VGA_PEL_IW); udelay(200); } /* now do the usual stuff to access the HDR */ - dummy = RGen(cinfo, VGA_PEL_MSK); + RGen(cinfo, VGA_PEL_MSK); udelay(200); - dummy = RGen(cinfo, VGA_PEL_MSK); + RGen(cinfo, VGA_PEL_MSK); udelay(200); - dummy = RGen(cinfo, VGA_PEL_MSK); + RGen(cinfo, VGA_PEL_MSK); udelay(200); - dummy = RGen(cinfo, VGA_PEL_MSK); + RGen(cinfo, VGA_PEL_MSK); udelay(200); WGen(cinfo, VGA_PEL_MSK, val); @@ -2492,7 +2490,7 @@ static void WHDR(const struct cirrusfb_info *cinfo, unsigned char val) if (cinfo->btype == BT_PICASSO) { /* now first reset HDR access counter */ - dummy = RGen(cinfo, VGA_PEL_IW); + RGen(cinfo, VGA_PEL_IW); udelay(200); /* and at the end, restore the mask value */ @@ -2800,9 +2798,9 @@ static void bestclock(long freq, int *nom, int *den, int *div) #ifdef CIRRUSFB_DEBUG -/** +/* * cirrusfb_dbg_print_regs - * @base: If using newmmio, the newmmio base address, otherwise %NULL + * @regbase: If using newmmio, the newmmio base address, otherwise %NULL * @reg_class: type of registers to read: %CRT, or %SEQ * * DESCRIPTION: @@ -2847,7 +2845,7 @@ static void cirrusfb_dbg_print_regs(struct fb_info *info, va_end(list); } -/** +/* * cirrusfb_dbg_reg_dump * @base: If using newmmio, the newmmio base address, otherwise %NULL * -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 21/28] video: fbdev: tmiofb: Fix set but not used warnings
Fix W=1 warnings by avoiding local variables and use direct references. v2: - Updated subject (Lee) Signed-off-by: Sam Ravnborg Cc: Daniel Vetter Cc: Sam Ravnborg Cc: Jani Nikula Cc: Lee Jones --- drivers/video/fbdev/tmiofb.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/video/fbdev/tmiofb.c b/drivers/video/fbdev/tmiofb.c index 50111966c981..b70faa3850f2 100644 --- a/drivers/video/fbdev/tmiofb.c +++ b/drivers/video/fbdev/tmiofb.c @@ -802,10 +802,8 @@ static int tmiofb_remove(struct platform_device *dev) const struct mfd_cell *cell = mfd_get_cell(dev); struct fb_info *info = platform_get_drvdata(dev); int irq = platform_get_irq(dev, 0); - struct tmiofb_par *par; if (info) { - par = info->par; unregister_framebuffer(info); tmiofb_hw_stop(dev); @@ -816,8 +814,8 @@ static int tmiofb_remove(struct platform_device *dev) free_irq(irq, info); iounmap(info->screen_base); - iounmap(par->lcr); - iounmap(par->ccr); + iounmap(((struct tmiofb_par *)info->par)->lcr); + iounmap(((struct tmiofb_par *)info->par)->ccr); framebuffer_release(info); } -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 19/28] video: fbdev: sstfb: Updated logging to fix set but not used warnings
Fix set but not used warnings by introducing no_printk variants for the internal logging system for this driver. Fix a new warning that popped up now that logging was checked for correct printf format strings. A more invasive fix had been to replace all the internal logging with standard logging primitives - thats for another day. v2: - Update subject (Lee) Signed-off-by: Sam Ravnborg Cc: Sam Ravnborg Cc: Daniel Vetter Cc: Arnd Bergmann Cc: Bartlomiej Zolnierkiewicz Cc: Alex Dewar Cc: Jani Nikula Cc: linux-fb...@vger.kernel.org Cc: Lee Jones --- drivers/video/fbdev/sstfb.c | 2 +- include/video/sstfb.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/video/fbdev/sstfb.c b/drivers/video/fbdev/sstfb.c index c05cdabeb11c..27d4b0ace2d6 100644 --- a/drivers/video/fbdev/sstfb.c +++ b/drivers/video/fbdev/sstfb.c @@ -1390,7 +1390,7 @@ static int sstfb_probe(struct pci_dev *pdev, const struct pci_device_id *id) fix->smem_start, info->screen_base, fix->smem_len >> 20); - f_ddprintk("regbase_virt: %#lx\n", par->mmio_vbase); + f_ddprintk("regbase_virt: %p\n", par->mmio_vbase); f_ddprintk("membase_phys: %#lx\n", fix->smem_start); f_ddprintk("fbbase_virt: %p\n", info->screen_base); diff --git a/include/video/sstfb.h b/include/video/sstfb.h index 28384f354773..d4a5e41d1173 100644 --- a/include/video/sstfb.h +++ b/include/video/sstfb.h @@ -23,7 +23,7 @@ # define SST_DEBUG_FUNC 1 # define SST_DEBUG_VAR 1 #else -# define dprintk(X...) +# define dprintk(X...)no_printk(X) # define SST_DEBUG_REG 0 # define SST_DEBUG_FUNC 0 # define SST_DEBUG_VAR 0 @@ -48,7 +48,7 @@ #if (SST_DEBUG_FUNC > 1) # define f_ddprintk(X...) dprintk(" " X) #else -# define f_ddprintk(X...) +# define f_ddprintk(X...) no_printk(X) #endif #if (SST_DEBUG_FUNC > 2) # define f_dddprintk(X...)dprintk(" " X) -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 07/28] video: fbdev: sis: Fix defined but not used warnings
init.h define static symbols, so should only be included once. Drop the include from sis.h as it is not needed. This fixes a lot of warnings seen with a W=1 build. v2: - Update subject (Lee) Signed-off-by: Sam Ravnborg Cc: Thomas Winischhofer Cc: Lee Jones --- drivers/video/fbdev/sis/sis.h | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/video/fbdev/sis/sis.h b/drivers/video/fbdev/sis/sis.h index 9f4c3093ccb3..d632f096083b 100644 --- a/drivers/video/fbdev/sis/sis.h +++ b/drivers/video/fbdev/sis/sis.h @@ -15,7 +15,6 @@ #include "vgatypes.h" #include "vstruct.h" -#include "init.h" #define VER_MAJOR 1 #define VER_MINOR 8 -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 26/28] video: fbdev: uvesafb: Fix string related warnings
Two W=1 string related warnings. - Using strncpy to copy string without null-termination generates a warning. Use memcpy to copy only the relevant chars - Fix a potential bug with a very long string, subtract one from the length to make room for the termination null. Signed-off-by: Sam Ravnborg Cc: Michal Januszewski Cc: linux-fb...@vger.kernel.org --- drivers/video/fbdev/uvesafb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c index 8ee0fc9c63cf..45dc8da191e4 100644 --- a/drivers/video/fbdev/uvesafb.c +++ b/drivers/video/fbdev/uvesafb.c @@ -423,7 +423,7 @@ static int uvesafb_vbe_getinfo(struct uvesafb_ktask *task, task->t.flags = TF_VBEIB; task->t.buf_len = sizeof(struct vbe_ib); task->buf = &par->vbe_ib; - strncpy(par->vbe_ib.vbe_signature, "VBE2", 4); + memcpy(par->vbe_ib.vbe_signature, "VBE2", 4); err = uvesafb_exec(task); if (err || (task->t.regs.eax & 0x) != 0x004f) { @@ -1871,7 +1871,7 @@ static ssize_t v86d_show(struct device_driver *dev, char *buf) static ssize_t v86d_store(struct device_driver *dev, const char *buf, size_t count) { - strncpy(v86d_path, buf, PATH_MAX); + strncpy(v86d_path, buf, PATH_MAX - 1); return count; } static DRIVER_ATTR_RW(v86d); -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 25/28] video: fbdev: uvesafb: Fix set but not used warning
Fix W=1 warning by deleting unused local variable. v2: - Updated subject (Lee) Signed-off-by: Sam Ravnborg Cc: Michal Januszewski Cc: linux-fb...@vger.kernel.org Cc: Lee Jones --- drivers/video/fbdev/uvesafb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c index def14ac0ebe1..8ee0fc9c63cf 100644 --- a/drivers/video/fbdev/uvesafb.c +++ b/drivers/video/fbdev/uvesafb.c @@ -554,12 +554,12 @@ static int uvesafb_vbe_getmodes(struct uvesafb_ktask *task, static int uvesafb_vbe_getpmi(struct uvesafb_ktask *task, struct uvesafb_par *par) { - int i, err; + int i; uvesafb_reset(task); task->t.regs.eax = 0x4f0a; task->t.regs.ebx = 0x0; - err = uvesafb_exec(task); + uvesafb_exec(task); if ((task->t.regs.eax & 0x) != 0x4f || task->t.regs.es < 0xc000) { par->pmi_setpal = par->ypan = 0; -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 24/28] video: fbdev: s3c-fb: Fix kernel-doc and set but not used warnings
Fix several W=1 warnings - Updated kernel-doc as needed - Deleted unused local variable, it was assigned but never used v2: - Updated subject (Lee) Signed-off-by: Sam Ravnborg Cc: Jingoo Han Cc: linux-fb...@vger.kernel.org Cc: Lee Jones --- drivers/video/fbdev/s3c-fb.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/video/fbdev/s3c-fb.c b/drivers/video/fbdev/s3c-fb.c index ba316bd56efd..3b134e1bbc38 100644 --- a/drivers/video/fbdev/s3c-fb.c +++ b/drivers/video/fbdev/s3c-fb.c @@ -75,6 +75,7 @@ struct s3c_fb; * @buf_size: Offset of buffer size registers. * @buf_end: Offset of buffer end registers. * @osd: The base for the OSD registers. + * @osd_stride: stride of osd * @palette: Address of palette memory, or 0 if none. * @has_prtcon: Set if has PRTCON register. * @has_shadowcon: Set if has SHADOWCON register. @@ -155,7 +156,7 @@ struct s3c_fb_palette { * @windata: The platform data supplied for the window configuration. * @parent: The hardware that this window is part of. * @fbinfo: Pointer pack to the framebuffer info for this window. - * @varint: The variant information for this window. + * @variant: The variant information for this window. * @palette_buffer: Buffer/cache to hold palette entries. * @pseudo_palette: For use in TRUECOLOUR modes for entries 0..15/ * @index: The window number of this window. @@ -336,7 +337,7 @@ static int s3c_fb_check_var(struct fb_var_screeninfo *var, /** * s3c_fb_calc_pixclk() - calculate the divider to create the pixel clock. * @sfb: The hardware state. - * @pixclock: The pixel clock wanted, in picoseconds. + * @pixclk: The pixel clock wanted, in picoseconds. * * Given the specified pixel clock, work out the necessary divider to get * close to the output frequency. @@ -733,7 +734,7 @@ static inline unsigned int chan_to_field(unsigned int chan, * @red: The red field for the palette data. * @green: The green field for the palette data. * @blue: The blue field for the palette data. - * @trans: The transparency (alpha) field for the palette data. + * @transp: The transparency (alpha) field for the palette data. * @info: The framebuffer being changed. */ static int s3c_fb_setcolreg(unsigned regno, @@ -1133,6 +1134,7 @@ static void s3c_fb_free_memory(struct s3c_fb *sfb, struct s3c_fb_win *win) /** * s3c_fb_release_win() - release resources for a framebuffer window. + * @sfb: The base resources for the hardware. * @win: The window to cleanup the resources for. * * Release the resources that where claimed for the hardware window, @@ -1160,6 +1162,7 @@ static void s3c_fb_release_win(struct s3c_fb *sfb, struct s3c_fb_win *win) /** * s3c_fb_probe_win() - register an hardware window * @sfb: The base resources for the hardware + * @win_no: The window number * @variant: The variant information for this window. * @res: Pointer to where to place the resultant window. * @@ -1170,7 +1173,6 @@ static int s3c_fb_probe_win(struct s3c_fb *sfb, unsigned int win_no, struct s3c_fb_win_variant *variant, struct s3c_fb_win **res) { - struct fb_var_screeninfo *var; struct fb_videomode initmode; struct s3c_fb_pd_win *windata; struct s3c_fb_win *win; @@ -1198,7 +1200,6 @@ static int s3c_fb_probe_win(struct s3c_fb *sfb, unsigned int win_no, win = fbinfo->par; *res = win; - var = &fbinfo->var; win->variant = *variant; win->fbinfo = fbinfo; win->parent = sfb; -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 28/28] video: fbdev: s1d13xxxfb: Fix kernel-doc and set but not used warnings
Fix following W=1 warnings: - Fix set but not nused variables which was used only for logging. Fixed by introducing no_printk() to trick compiler to think variables are used - Fix kernel-doc warning by deleting an empty comment line v2: - Subject updated (Lee) Signed-off-by: Sam Ravnborg Cc: Kristoffer Ericson Cc: Lee Jones --- drivers/video/fbdev/s1d13xxxfb.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/video/fbdev/s1d13xxxfb.c b/drivers/video/fbdev/s1d13xxxfb.c index 4541afcf9386..d1b5f965bc96 100644 --- a/drivers/video/fbdev/s1d13xxxfb.c +++ b/drivers/video/fbdev/s1d13xxxfb.c @@ -45,7 +45,7 @@ #if 0 #define dbg(fmt, args...) do { printk(KERN_INFO fmt, ## args); } while(0) #else -#define dbg(fmt, args...) do { } while (0) +#define dbg(fmt, args...) do { no_printk(KERN_INFO fmt, ## args); } while (0) #endif /* @@ -512,7 +512,6 @@ s1d13xxxfb_bitblt_copyarea(struct fb_info *info, const struct fb_copyarea *area) } /** - * * s1d13xxxfb_bitblt_solidfill - accelerated solidfill function * @info : framebuffer structure * @rect : fb_fillrect structure -- 2.27.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[GIT PULL] mediatek drm next for 5.11
Hi, Dave & Daniel: This includes: 1. Add MT8167 support 2. Cleanup function 3. Convert the dpi bindings to yaml 4. Drop local dma_parms 5. Fix formatting and provide missing member description 6. Introduce GEM object functions 7. Fix aliases name Regards, Chun-Kuang. The following changes since commit 3650b228f83adda7e5ee532e2b90429c03f7b9ec: Linux 5.10-rc1 (2020-10-25 15:14:11 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/chunkuang.hu/linux.git tags/mediatek-drm-next-5.11 for you to fetch changes up to 414562b0ef36ce658f0ffec00e7039c7911e4cdc: drm/mediatek: Use correct aliases name for ovl (2020-11-28 16:56:55 +0800) Mediatek DRM Next for Linux 5.11 1. Add MT8167 support 2. Cleanup function 3. Convert the dpi bindings to yaml 4. Drop local dma_parms 5. Fix formatting and provide missing member description 6. Introduce GEM object functions 7. Fix aliases name Bernard Zhao (1): drm/mediatek: Optimize functions which do not need to return Enric Balletbo i Serra (1): drm/mediatek: Use correct aliases name for ovl Fabien Parent (3): dt-bindings: display: mediatek: disp: add documentation for MT8167 SoC drm/mediatek: Add disp-color MT8167 support drm/mediatek: Add DDP support for MT8167 Jitao Shi (1): dt-bindings: display: mediatek: convert the dpi bindings to yaml Lee Jones (4): drm/mediatek/mtk_disp_rdma: Fix formatting and supply missing struct member description drm/mediatek/mtk_drm_drv: Staticise local function invoked by reference drm/mediatek/mtk_disp_color: Fix formatting and provide missing member description drm/mediatek/mtk_disp_ovl: Fix formatting and provide missing member description Robin Murphy (1): drm/mediatek: Drop local dma_parms Thomas Zimmermann (1): drm/mediatek: Introduce GEM object functions .../bindings/display/mediatek/mediatek,disp.txt| 4 +- .../bindings/display/mediatek/mediatek,dpi.txt | 42 -- .../bindings/display/mediatek/mediatek,dpi.yaml| 98 ++ drivers/gpu/drm/mediatek/mtk_disp_color.c | 12 ++- drivers/gpu/drm/mediatek/mtk_disp_ovl.c| 5 +- drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 5 +- drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 47 +++ drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c| 2 +- drivers/gpu/drm/mediatek/mtk_drm_drv.c | 36 ++-- drivers/gpu/drm/mediatek/mtk_drm_drv.h | 2 - drivers/gpu/drm/mediatek/mtk_drm_gem.c | 11 +++ drivers/gpu/drm/mediatek/mtk_hdmi.c| 27 ++ 12 files changed, 187 insertions(+), 104 deletions(-) delete mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] drm/panel: sony-acx565akm: Fix race condition in probe
Hi Laurent, On Sun, Nov 29, 2020 at 12:08:47AM +0200, Laurent Pinchart wrote: > On Fri, Nov 27, 2020 at 09:04:29PM +0100, Sebastian Reichel wrote: > > The probe routine acquires the reset GPIO using GPIOD_OUT_LOW. Directly > > afterwards it calls acx565akm_detect(), which sets the GPIO value to > > HIGH. If the bootloader initialized the GPIO to HIGH before the probe > > routine was called, there is only a very short time period of a few > > instructions where the reset signal is LOW. Exact time depends on > > compiler optimizations, kernel configuration and alignment of the stars, > > but I expect it to be always way less than 10us. There are no public > > datasheets for the panel, but acx565akm_power_on() has a comment with > > timings and reset period should be at least 10us. So this potentially > > brings the panel into a half-reset state. > > Good catch. > > Looks like we got the reset polarity wrong in the driver though. > GPIOD_OUT_LOW should mean de-asserted, but the driver expects it to mean > low level. We can't fix that as it would require changing the device > tree :-( Yes, polarity is wrong unfortunately. > > The result is, that panel may not work after boot and can get into a > > working state by re-enabling it (e.g. by blanking + unblanking), since > > that does a clean reset cycle. This bug has recently been hit by Ivaylo > > Dimitrov, but there are some older reports which are probably the same > > bug. At least Tony Lindgren, Peter Ujfalusi and Jarkko Nikula have > > experienced it in 2017 describing the blank/unblank procedure as > > possible workaround. > > > > Note, that the bug really goes back in time. It has originally been > > introduced in the predecessor of the omapfb driver in 3c45d05be382 > > ("OMAPDSS: acx565akm panel: handle gpios in panel driver") in 2012. > > That driver eventually got replaced by a newer one, which had the bug > > from the beginning in 84192742d9c2 ("OMAPDSS: Add Sony ACX565AKM panel > > driver") and still exists in fbdev world. That driver has later been > > copied to omapdrm and then was used as a basis for this driver. Last > > but not least the omapdrm specific driver has been removed in > > 45f16c82db7e ("drm/omap: displays: Remove unused panel drivers"). > > > > Reported-by: Jarkko Nikula > > Reported-by: Peter Ujfalusi > > Reported-by: Tony Lindgren > > Reported-by: Aaro Koskinen > > Reported-by: Ivaylo Dimitrov > > Cc: Merlijn Wajer > > Cc: Laurent Pinchart > > Cc: Tomi Valkeinen > > Fixes: 1c8fc3f0c5d2 ("drm/panel: Add driver for the Sony ACX565AKM panel") > > Signed-off-by: Sebastian Reichel > > --- > > drivers/gpu/drm/panel/panel-sony-acx565akm.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/panel/panel-sony-acx565akm.c > > b/drivers/gpu/drm/panel/panel-sony-acx565akm.c > > index e95fdfb16b6c..ba0b3ead150f 100644 > > --- a/drivers/gpu/drm/panel/panel-sony-acx565akm.c > > +++ b/drivers/gpu/drm/panel/panel-sony-acx565akm.c > > @@ -629,7 +629,7 @@ static int acx565akm_probe(struct spi_device *spi) > > lcd->spi = spi; > > mutex_init(&lcd->mutex); > > > > - lcd->reset_gpio = devm_gpiod_get(&spi->dev, "reset", GPIOD_OUT_LOW); > > + lcd->reset_gpio = devm_gpiod_get(&spi->dev, "reset", GPIOD_OUT_HIGH); > > Wouldn't it be better to instead add a delay here (or in > acx565akm_detect()) ? If the panel is in a wrong state at > boot time, a real reset can help. acx565akm_detect() reads some registers to detect a previously enabled panel and then driver handles this case properly. If we reset the panel before the detection code, any detection code would be useless (panel is obviously not enabled after a reset). I think this detection code is only needed to avoid flickering when a bootsplash is shown. So by accepting a bit of flickering we can simplify the driver by dropping that code and make it a bit more robust by doing a reset. It's a tradeoff and I don't have strong feelings for either option. But I think, that this fix should be applied to fixes branch (and backported to stable). Removing panel enable detection should not be applied as fix IMHO. -- Sebastian signature.asc Description: PGP signature ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel