From: Alex Bee <knaerzche@gmail.com>
To: "Sandy Huang" <hjc@rock-chips.com>,
"Heiko Stübner" <heiko@sntech.de>, "Andy Yan" <andyshrk@163.com>,
"Rob Herring" <robh+dt@kernel.org>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
Alex Bee <knaerzche@gmail.com>
Subject: [PATCH v2 14/27] drm/rockchip: inno_hdmi: Switch to infoframe type
Date: Sat, 16 Dec 2023 17:26:25 +0100 [thread overview]
Message-ID: <20231216162639.125215-15-knaerzche@gmail.com> (raw)
In-Reply-To: <20231216162639.125215-1-knaerzche@gmail.com>
From: Maxime Ripard <mripard@kernel.org>
The inno_hdmi driver relies on its own internal infoframe type matching
the hardware.
This works fine, but in order to make further reworks easier, let's
switch to the HDMI spec definition of those types.
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Tested-by: Alex Bee <knaerzche@gmail.com>
---
changes in v2:
- imported patch
drivers/gpu/drm/rockchip/inno_hdmi.c | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c
index 6354949bfd8e..b6b34f4b8cda 100644
--- a/drivers/gpu/drm/rockchip/inno_hdmi.c
+++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
@@ -207,33 +207,34 @@ static void inno_hdmi_reset(struct inno_hdmi *hdmi)
inno_hdmi_set_pwr_mode(hdmi, NORMAL);
}
-static void inno_hdmi_disable_frame(struct inno_hdmi *hdmi, u32 frame_index)
+static void inno_hdmi_disable_frame(struct inno_hdmi *hdmi,
+ enum hdmi_infoframe_type type)
{
struct drm_connector *connector = &hdmi->connector;
- if (frame_index != INFOFRAME_AVI) {
+ if (type != HDMI_INFOFRAME_TYPE_AVI) {
drm_err(connector->dev,
- "Unsupported infoframe type: %u\n", frame_index);
+ "Unsupported infoframe type: %u\n", type);
return;
}
- hdmi_writeb(hdmi, HDMI_CONTROL_PACKET_BUF_INDEX, frame_index);
+ hdmi_writeb(hdmi, HDMI_CONTROL_PACKET_BUF_INDEX, INFOFRAME_AVI);
}
static int inno_hdmi_upload_frame(struct inno_hdmi *hdmi,
- union hdmi_infoframe *frame, u32 frame_index)
+ union hdmi_infoframe *frame, enum hdmi_infoframe_type type)
{
struct drm_connector *connector = &hdmi->connector;
u8 packed_frame[HDMI_MAXIMUM_INFO_FRAME_SIZE];
ssize_t rc, i;
- if (frame_index != INFOFRAME_AVI) {
+ if (type != HDMI_INFOFRAME_TYPE_AVI) {
drm_err(connector->dev,
- "Unsupported infoframe type: %u\n", frame_index);
+ "Unsupported infoframe type: %u\n", type);
return 0;
}
- inno_hdmi_disable_frame(hdmi, frame_index);
+ inno_hdmi_disable_frame(hdmi, type);
rc = hdmi_infoframe_pack(frame, packed_frame,
sizeof(packed_frame));
@@ -257,7 +258,7 @@ static int inno_hdmi_config_video_avi(struct inno_hdmi *hdmi,
&hdmi->connector,
mode);
if (rc) {
- inno_hdmi_disable_frame(hdmi, INFOFRAME_AVI);
+ inno_hdmi_disable_frame(hdmi, HDMI_INFOFRAME_TYPE_AVI);
return rc;
}
@@ -268,7 +269,7 @@ static int inno_hdmi_config_video_avi(struct inno_hdmi *hdmi,
else
frame.avi.colorspace = HDMI_COLORSPACE_RGB;
- return inno_hdmi_upload_frame(hdmi, &frame, INFOFRAME_AVI);
+ return inno_hdmi_upload_frame(hdmi, &frame, HDMI_INFOFRAME_TYPE_AVI);
}
static int inno_hdmi_config_video_csc(struct inno_hdmi *hdmi)
--
2.43.0
next prev parent reply other threads:[~2023-12-16 16:27 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-16 16:26 [PATCH v2 00/27] Add HDMI support for RK3128 Alex Bee
2023-12-16 16:26 ` [PATCH v2 01/27] dt-bindings: display: rockchip,inno-hdmi: Document RK3128 compatible Alex Bee
2023-12-17 21:00 ` Conor Dooley
2023-12-16 16:26 ` [PATCH v2 02/27] drm/rockchip: vop: Add output selection registers for RK312x Alex Bee
2023-12-16 16:26 ` [PATCH v2 03/27] drm/rockchip: inno_hdmi: Fix video timing Alex Bee
2023-12-16 16:26 ` [PATCH v2 04/27] drm/rockchip: inno_hdmi: Remove useless mode_fixup Alex Bee
2023-12-18 8:38 ` Maxime Ripard
2023-12-16 16:26 ` [PATCH v2 05/27] drm/rockchip: inno_hdmi: Remove useless copy of drm_display_mode Alex Bee
2023-12-16 16:26 ` [PATCH v2 06/27] drm/rockchip: inno_hdmi: Switch encoder hooks to atomic Alex Bee
2023-12-16 16:26 ` [PATCH v2 07/27] drm/rockchip: inno_hdmi: Get rid of mode_set Alex Bee
2023-12-16 16:26 ` [PATCH v2 08/27] drm/rockchip: inno_hdmi: no need to store vic Alex Bee
2023-12-16 16:26 ` [PATCH v2 09/27] drm/rockchip: inno_hdmi: Remove unneeded has audio flag Alex Bee
2023-12-16 16:26 ` [PATCH v2 10/27] drm/rockchip: inno_hdmi: Remove useless input format Alex Bee
2023-12-16 16:26 ` [PATCH v2 11/27] drm/rockchip: inno_hdmi: Remove YUV-based csc coefficents Alex Bee
2023-12-16 16:26 ` [PATCH v2 12/27] drm/rockchip: inno_hdmi: Drop HDMI Vendor Infoframe support Alex Bee
2023-12-16 16:26 ` [PATCH v2 13/27] drm/rockchip: inno_hdmi: Move infoframe disable to separate function Alex Bee
2023-12-16 16:26 ` Alex Bee [this message]
2023-12-16 16:26 ` [PATCH v2 15/27] drm/rockchip: inno_hdmi: Remove unused drm device pointer Alex Bee
2023-12-16 16:26 ` [PATCH v2 16/27] drm/rockchip: inno_hdmi: Drop irq struct member Alex Bee
2023-12-18 9:00 ` Maxime Ripard
2023-12-16 16:26 ` [PATCH v2 17/27] drm/rockchip: inno_hdmi: Remove useless include Alex Bee
2023-12-18 9:00 ` Maxime Ripard
2023-12-16 16:26 ` [PATCH v2 18/27] drm/rockchip: inno_hdmi: Subclass connector state Alex Bee
2023-12-18 9:02 ` Maxime Ripard
2023-12-18 12:32 ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 19/27] drm/rockchip: inno_hdmi: Move tmds rate to connector state subclass Alex Bee
2023-12-18 10:06 ` Maxime Ripard
2023-12-18 12:49 ` Alex Bee
2023-12-22 17:51 ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 20/27] drm/rockchip: inno_hdmi: Correctly setup HDMI quantization range Alex Bee
2023-12-18 9:05 ` Maxime Ripard
2023-12-18 12:37 ` Alex Bee
2023-12-18 13:13 ` Maxime Ripard
2023-12-16 16:26 ` [PATCH v2 21/27] drm/rockchip: inno_hdmi: Add variant support Alex Bee
2023-12-16 16:26 ` [PATCH v2 22/27] drm/rockchip: inno_hdmi: Add RK3128 support Alex Bee
2023-12-16 16:26 ` [PATCH v2 23/27] drm/rockchip: inno_hdmi: Add basic mode validation Alex Bee
2023-12-18 9:06 ` Maxime Ripard
2023-12-16 16:26 ` [PATCH v2 24/27] drm/rockchip: inno_hdmi: Drop custom fill_modes hook Alex Bee
2023-12-18 9:06 ` Maxime Ripard
2023-12-16 16:26 ` [PATCH v2 25/27] ARM: dts: rockchip: Add display subsystem for RK3128 Alex Bee
2023-12-16 16:26 ` [PATCH v2 26/27] ARM: dts: rockchip: Add HDMI node " Alex Bee
2023-12-16 16:26 ` [PATCH v2 27/27] ARM: dts: rockchip: Enable HDMI output for XPI-3128 Alex Bee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231216162639.125215-15-knaerzche@gmail.com \
--to=knaerzche@gmail.com \
--cc=airlied@gmail.com \
--cc=andyshrk@163.com \
--cc=conor+dt@kernel.org \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=heiko@sntech.de \
--cc=hjc@rock-chips.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=robh+dt@kernel.org \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®