Jani Nikula
5465b0a591
drm/hisilicon: include drm/drm_edid.h only where needed
...
Reduce the need for rebuilds when drm_edid.h is modified by including it
only where needed.
Cc: Xinliang Liu <xinliang.liu@linaro.org >
Cc: Tian Tao <tiantao6@hisilicon.com >
Cc: Xinwei Kong <kong.kongxinwei@hisilicon.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Yongqin Liu <yongqin.liu@linaro.org >
Cc: John Stultz <jstultz@google.com >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20240104201632.1100753-2-jani.nikula@intel.com
2024-01-10 11:25:05 +02:00
Thomas Zimmermann
d5c7533a46
drm/hisilicon/hibmc: Include <linux/io.h> for readl() and writel()
...
Include <linux/io.h> to get readl() and writel() on S390. The error
message is shown below and a bug report is at [1].
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c:75:15: error: implicit declaration of function 'readl' [-Werror=implicit-function-declaration]
75 | reg = readl(priv->mmio + HIBMC_DISPLAY_CONTROL_HISILE);
| ^~~~~
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c:80:9: error: implicit declaration of function 'writel' [-Werror=implicit-function-declaration]
80 | writel(reg, priv->mmio + HIBMC_DISPLAY_CONTROL_HISILE);
| ^~~~~~
Reported-by: kernel test robot <lkp@intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Fixes: 45b64fd9f7 ("drm/fb-helper: Remove unnecessary include statements")
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: Javier Martinez Canillas <javierm@redhat.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Maxime Ripard <mripard@kernel.org >
Cc: David Airlie <airlied@gmail.com >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: dri-devel@lists.freedesktop.org
Link: https://lore.kernel.org/dri-devel/202211060608.qrTg8b2E-lkp@intel.com/T/#u # [1]
Link: https://patchwork.freedesktop.org/patch/msgid/20221107125329.12842-3-tzimmermann@suse.de
2022-11-08 16:16:17 +01:00
Tian Tao
9254cd1d29
drm/hisilicon: Use drm_crtc_mask()
...
Use drm_crtc_mask() where appropriate.
Signed-off-by: Tian Tao <tiantao6@hisilicon.com >
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1610335818-32895-1-git-send-email-tiantao6@hisilicon.com
2021-01-11 19:53:05 -05:00
Tian Tao
e695e62306
drm/hisilicon: Delete the empty function mode_valid
...
Based on the drm_connector_mode_valid, if the hibmc implementation
of mode_valid only returns MODE_OK, then we need not implement the
mode_valid function.
Signed-off-by: Tian Tao <tiantao6@hisilicon.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/1610102465-36501-1-git-send-email-tiantao6@hisilicon.com
2021-01-10 19:48:01 -05:00
Tian Tao
4992a7f710
drm/hisilicon: Use simple encoder
...
The hibmc driver uses empty implementations for its encoders. Replace
the code with the generic simple encoder.
Signed-off-by: Tian Tao <tiantao6@hisilicon.com >
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1609140936-57002-1-git-send-email-tiantao6@hisilicon.com
2021-01-07 19:42:21 -05:00
Tian Tao
770729f77d
drm/hisilicon: Code refactoring for hibmc_drm_drv
...
Use the devm_drm_dev_alloc provided by the drm framework to alloc
a structure hibmc_drm_private.
Signed-off-by: Tian Tao <tiantao6@hisilicon.com >
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1606901212-8214-2-git-send-email-tiantao6@hisilicon.com
2020-12-03 03:55:15 -05:00
Tian Tao
c7a399271d
drm/hisilicon: Using the to_hibmc_drm_private to convert
...
Using the to_hibmc_drm_private to convert over all uses of
dev_private, and fix a little formatting issue.
v2:
fixed the commit message.
Signed-off-by: Tian Tao <tiantao6@hisilicon.com >
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1601282978-45534-1-git-send-email-tiantao6@hisilicon.com
2020-09-29 20:38:11 -04:00
Tian Tao
a0d078d06e
drm/hisilicon: Features to support reading resolutions from EDID
...
Use drm_get_edid to get the resolution, if that fails, set it to
a fixed resolution. Rewrite the desrtoy callback function to release
resources.
Signed-off-by: Tian Tao <tiantao6@hisilicon.com >
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1600778670-60370-3-git-send-email-tiantao6@hisilicon.com
2020-09-24 20:30:06 -04:00
Tian Tao
ae34c15be6
drm/hisilicon: Use drm_err instead of DRM_ERROR in hibmc_drm_vdac
...
Use drm_err instead of DRM_ERROR in hibmc_drm_vdac
Signed-off-by: Tian Tao <tiantao6@hisilicon.com >
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1597829014-39942-3-git-send-email-tiantao6@hisilicon.com
2020-08-25 20:48:00 -04:00
Tian Tao
ed7d94597f
drm/hisilicon: Remove the unused include statements
...
Remove some unused include statements.
Signed-off-by: Tian Tao <tiantao6@hisilicon.com >
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1597218179-3938-2-git-send-email-tiantao6@hisilicon.com
2020-08-12 10:27:10 +02:00
Tian Tao
be8c8403f6
drm/hisilicon: Code refactoring for hibmc_drv_vdac
...
code refactoring for hibmc_drv_vdac.c, no actual function changes.
v2:
remove the debug message.
v3:
embedding connector and encoder in struct hibmc_drm_private.
Signed-off-by: Tian Tao <tiantao6@hisilicon.com >
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1593680081-60313-1-git-send-email-tiantao6@hisilicon.com
2020-07-06 11:06:39 +02:00
Tian Tao
29b7216b57
drm/hisilicon: Set preferred mode resolution and maximum resolution
...
set the preferred mode resolution to 1024 * 768 and maximum
resolution to 1920 * 1200.
Signed-off-by: Tian Tao <tiantao6@hisilicon.com >
Signed-off-by: Gong junjie <gongjunjie2@huawei.com >
Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1582080707-18825-1-git-send-email-tiantao6@hisilicon.com
2020-02-27 04:34:32 +00:00
Sam Ravnborg
40b4db43f7
drm/hisilicon: drop use of drmP.h
...
Drop the deprecated drmP.h header file.
Made the header file selfcontained, and dropped unused header files.
Fixed fallout in remaining files.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Acked-by: Emil Velikov <emil.velikov@collabora.com >
Cc: Xinliang Liu <z.liuxinliang@hisilicon.com >
Cc: Rongrong Zou <zourongrong@gmail.com >
Cc: Xinwei Kong <kong.kongxinwei@hisilicon.com >
Cc: Chen Feng <puck.chen@hisilicon.com >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Allison Randal <allison@lohutok.net >
Cc: Harry Wentland <harry.wentland@amd.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Souptick Joarder <jrdr.linux@gmail.com >
Cc: John Garry <john.garry@huawei.com >
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: "Christian König" <christian.koenig@amd.com >
Cc: Junwei Zhang <Jerry.Zhang@amd.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Hans de Goede <hdegoede@redhat.com >
Cc: CK Hu <ck.hu@mediatek.com >
Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Jani Nikula <jani.nikula@intel.com >
Cc: Eric Anholt <eric@anholt.net >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190630061922.7254-34-sam@ravnborg.org
2019-07-15 18:11:31 +02:00
Thomas Gleixner
2874c5fd28
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
...
Based on 1 normalized pattern(s):
this program is free software you can redistribute it and or modify
it under the terms of the gnu general public license as published by
the free software foundation either version 2 of the license or at
your option any later version
extracted by the scancode license scanner the SPDX license identifier
GPL-2.0-or-later
has been chosen to replace the boilerplate/reference in 3029 file(s).
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Allison Randal <allison@lohutok.net >
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2019-05-30 11:26:32 -07:00
Daniel Vetter
825d1b579d
drm/hibmc: Drop best_encoder
...
This is the default for atomic drivers.
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Noralf Trønnes <noralf@tronnes.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Neil Armstrong <narmstrong@baylibre.com >
Cc: Luc Van Oostenryck <luc.vanoostenryck@gmail.com >
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190221155857.19773-1-daniel.vetter@ffwll.ch
2019-03-25 09:33:41 +01:00
Daniel Vetter
fcd70cd36b
drm: Split out drm_probe_helper.h
...
Having the probe helper stuff (which pretty much everyone needs) in
the drm_crtc_helper.h file (which atomic drivers should never need) is
confusing. Split them out.
To make sure I actually achieved the goal here I went through all
drivers. And indeed, all atomic drivers are now free of
drm_crtc_helper.h includes.
v2: Make it compile. There was so much compile fail on arm drivers
that I figured I'll better not include any of the acks on v1.
v3: Massive rebase because i915 has lost a lot of drmP.h includes, but
not all: Through drm_crtc_helper.h > drm_modeset_helper.h -> drmP.h
there was still one, which this patch largely removes. Which means
rolling out lots more includes all over.
This will also conflict with ongoing drmP.h cleanup by others I
expect.
v3: Rebase on top of atomic bochs.
v4: Review from Laurent for bridge/rcar/omap/shmob/core bits:
- (re)move some of the added includes, use the better include files in
other places (all suggested from Laurent adopted unchanged).
- sort alphabetically
v5: Actually try to sort them, and while at it, sort all the ones I
touch.
v6: Rebase onto i915 changes.
v7: Rebase once more.
Acked-by: Harry Wentland <harry.wentland@amd.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Jani Nikula <jani.nikula@linux.intel.com >
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com >
Acked-by: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Acked-by: Jani Nikula <jani.nikula@intel.com >
Acked-by: Neil Armstrong <narmstrong@baylibre.com >
Acked-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com >
Acked-by: CK Hu <ck.hu@mediatek.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Acked-by: Liviu Dudau <liviu.dudau@arm.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: virtualization@lists.linux-foundation.org
Cc: etnaviv@lists.freedesktop.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: intel-gfx@lists.freedesktop.org
Cc: linux-mediatek@lists.infradead.org
Cc: linux-amlogic@lists.infradead.org
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: spice-devel@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-renesas-soc@vger.kernel.org
Cc: linux-rockchip@lists.infradead.org
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-tegra@vger.kernel.org
Cc: xen-devel@lists.xen.org
Link: https://patchwork.freedesktop.org/patch/msgid/20190117210334.13234-1-daniel.vetter@ffwll.ch
2019-01-24 13:20:42 +01:00
Daniel Vetter
cde4c44d87
drm: drop _mode_ from drm_mode_connector_attach_encoder
...
Again to align with the usual prefix of just drm_connector_. Again
done with sed + manual fixup for indent issues.
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180709084016.23750-7-daniel.vetter@ffwll.ch
2018-07-13 18:40:27 +02:00
Luc Van Oostenryck
e14d509d25
drm/hisilicon: fix mode_valid's return type
...
The method struct drm_connector_helper_funcs::mode_valid is defined
as returning an 'enum drm_mode_status' but the driver implementation
for this method uses an 'int' for it.
Fix this by using 'enum drm_mode_status' in the driver too.
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20180424131504.2159-1-luc.vanoostenryck@gmail.com
2018-04-25 09:09:22 +02:00
Keith Packard
418da17214
drm: Pass struct drm_file * to __drm_mode_object_find [v2]
...
This will allow __drm_mode_object_file to be extended to perform
access control checks based on the file in use.
v2: Also fix up vboxvideo driver in staging
[airlied: merging early as this is an API change]
Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Keith Packard <keithp@keithp.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
2017-10-12 10:03:04 +10:00
Daniel Vetter
7d902c05b4
drm: Nuke drm_atomic_helper_connector_dpms
...
It's dead code, the core handles all this directly now.
The only special case is nouveau and tda988x which used one function
for both legacy modeset code and -nv50 atomic world instead of 2
vtables. But amounts to exactly the same.
v2: Rebase over the panel/brideg refactorings in stm/ltdc.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Archit Taneja <architt@codeaurora.org >
Cc: Andrzej Hajda <a.hajda@samsung.com >
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com >
Cc: Peter Senna Tschudin <peter.senna@collabora.com >
Cc: Martin Donnelly <martin.donnelly@ge.com >
Cc: Martyn Welch <martyn.welch@collabora.co.uk >
Cc: Daniel Vetter <daniel.vetter@intel.com >
Cc: Jani Nikula <jani.nikula@linux.intel.com >
Cc: Sean Paul <seanpaul@chromium.org >
Cc: David Airlie <airlied@linux.ie >
Cc: Inki Dae <inki.dae@samsung.com >
Cc: Joonyoung Shim <jy0922.shim@samsung.com >
Cc: Seung-Woo Kim <sw0312.kim@samsung.com >
Cc: Kyungmin Park <kyungmin.park@samsung.com >
Cc: Kukjin Kim <kgene@kernel.org >
Cc: Krzysztof Kozlowski <krzk@kernel.org >
Cc: Stefan Agner <stefan@agner.ch >
Cc: Alison Wang <alison.wang@freescale.com >
Cc: Russell King <linux@armlinux.org.uk >
Cc: Philipp Zabel <p.zabel@pengutronix.de >
Cc: CK Hu <ck.hu@mediatek.com >
Cc: Matthias Brugger <matthias.bgg@gmail.com >
Cc: Neil Armstrong <narmstrong@baylibre.com >
Cc: Carlo Caione <carlo@caione.org >
Cc: Kevin Hilman <khilman@baylibre.com >
Cc: Marek Vasut <marex@denx.de >
Cc: Ben Skeggs <bskeggs@redhat.com >
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com >
Cc: Eric Anholt <eric@anholt.net >
Cc: Mark Yao <mark.yao@rock-chips.com >
Cc: Heiko Stuebner <heiko@sntech.de >
Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Cc: Vincent Abriou <vincent.abriou@st.com >
Cc: Yannick Fertre <yannick.fertre@st.com >
Cc: Philippe Cornu <philippe.cornu@st.com >
Cc: Maxime Ripard <maxime.ripard@free-electrons.com >
Cc: Chen-Yu Tsai <wens@csie.org >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Jonathan Hunter <jonathanh@nvidia.com >
Cc: Jyri Sarha <jsarha@ti.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Shawn Guo <shawnguo@kernel.org >
Cc: John Stultz <john.stultz@linaro.org >
Cc: Lars-Peter Clausen <lars@metafoo.de >
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com >
Cc: Jeffy Chen <jeffy.chen@rock-chips.com >
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Cc: Yakir Yang <kuankuan.y@gmail.com >
Cc: Marek Szyprowski <m.szyprowski@samsung.com >
Cc: Jose Abreu <Jose.Abreu@synopsys.com >
Cc: Romain Perier <romain.perier@collabora.com >
Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com >
Cc: Xinliang Liu <z.liuxinliang@hisilicon.com >
Cc: Alexey Brodkin <abrodkin@synopsys.com >
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: Rongrong Zou <zourongrong@gmail.com >
Cc: Rob Clark <robdclark@gmail.com >
Cc: Hai Li <hali@codeaurora.org >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: intel-gfx@lists.freedesktop.org
Cc: linux-mediatek@lists.infradead.org
Cc: linux-amlogic@lists.infradead.org
Cc: nouveau@lists.freedesktop.org
Cc: linux-renesas-soc@vger.kernel.org
Cc: linux-rockchip@lists.infradead.org
Cc: linux-tegra@vger.kernel.org
Cc: virtualization@lists.linux-foundation.org
Cc: zain wang <wzz@rock-chips.com >
Cc: Baoyou Xie <baoyou.xie@linaro.org >
Cc: Boris Brezillon <boris.brezillon@free-electrons.com >
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20170725080122.20548-8-daniel.vetter@ffwll.ch
Acked-by: Neil Armstrong <narmstrong@baylibre.com >
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com >
Acked-by: Philipp Zabel <p.zabel@pengutronix.de >
Acked-by: Archit Taneja <architt@codeaurora.org >
Tested-by: Philippe Cornu <philippe.cornu@st.com > (on stm)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Acked-by: Shawn Guo <shawnguo@kernel.org >
Acked-by: Shawn Guo <shawnguo@kernel.org >
Acked-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Vincent Abriou <vincent.abriou@st.com >
2017-08-08 14:48:48 +02:00
Laurent Pinchart
949f08862d
drm: Make the connector .detect() callback optional
...
Many drivers (21 to be exact) create connectors that are always
connected (for instance to an LVDS or DSI panel). Instead of forcing
them to implement a dummy .detect() handler, make the callback optional
and consider the connector as always connected in that case.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Acked-by: Jyri Sarha <jsarha@ti.com >
Acked-by: Jani Nikula <jani.nikula@intel.com >
Acked-by: Philipp Zabel <p.zabel@pengutronix.de >
Acked-by: Vincent Abriou <vincent.abriou@st.com >
Acked-by: Alexey Brodkin <abrodkin@synopsys.com >
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com >
[seanpaul fixed small conflict in rcar-du/rcar_du_lvdscon.c]
Signed-off-by: Sean Paul <seanpaul@chromium.org >
2016-12-01 10:05:53 -05:00
Rongrong Zou
5294967f4a
drm/hisilicon/hibmc: Add support for VDAC
...
VDAC(Video Digital-to-Analog converter) converts the RGB diaital data
stream from DE to VGA analog signals.
Signed-off-by: Rongrong Zou <zourongrong@gmail.com >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Reviewed-by: Xinliang Liu <xinliang.liu@linaro.org >
Acked-by: Sean Paul <seanpaul@chromium.org >
2016-11-17 15:26:26 +08:00