* [PATCH] drm/bridge: ite-it6263: Support HDMI vendor specific infoframe
@ 2025-09-04 9:10 Liu Ying
2025-09-04 22:40 ` Dmitry Baryshkov
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Liu Ying @ 2025-09-04 9:10 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Dmitry Baryshkov
Cc: dri-devel, linux-kernel, Liu Ying
IT6263 supports HDMI vendor specific infoframe. The infoframe header
and payload are configurable via NULL packet registers. The infoframe
is enabled and disabled via PKT_NULL_CTRL register. Add the HDMI vendor
specific infoframe support.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
---
drivers/gpu/drm/bridge/ite-it6263.c | 72 ++++++++++++++++++++++++++-----------
1 file changed, 52 insertions(+), 20 deletions(-)
diff --git a/drivers/gpu/drm/bridge/ite-it6263.c b/drivers/gpu/drm/bridge/ite-it6263.c
index cf813672b4ffb8ab5c524c6414ee7b414cebc018..0cc5e44b325afe177e0da41cdce753407cec51e7 100644
--- a/drivers/gpu/drm/bridge/ite-it6263.c
+++ b/drivers/gpu/drm/bridge/ite-it6263.c
@@ -146,6 +146,7 @@
#define HDMI_COLOR_DEPTH_24 FIELD_PREP(HDMI_COLOR_DEPTH, 4)
#define HDMI_REG_PKT_GENERAL_CTRL 0xc6
+#define HDMI_REG_PKT_NULL_CTRL 0xc9
#define HDMI_REG_AVI_INFOFRM_CTRL 0xcd
#define ENABLE_PKT BIT(0)
#define REPEAT_PKT BIT(1)
@@ -154,6 +155,14 @@
* 3) HDMI register bank1: 0x130 ~ 0x1ff (HDMI packet registers)
*/
+/* NULL packet registers */
+/* Header Byte(HB): n = 0 ~ 2 */
+#define HDMI_REG_PKT_HB(n) (0x138 + (n))
+/* Packet Byte(PB): n = 0 ~ 27(HDMI_MAX_INFOFRAME_SIZE), n = 0 for checksum */
+#define HDMI_REG_PKT_PB(n) (0x13b + (n))
+#define HDMI_PKT_HB_PB_CHUNK_SIZE \
+ (HDMI_REG_PKT_PB(HDMI_MAX_INFOFRAME_SIZE) - HDMI_REG_PKT_HB(0) + 1)
+
/* AVI packet registers */
#define HDMI_REG_AVI_DB1 0x158
#define HDMI_REG_AVI_DB2 0x159
@@ -224,7 +233,9 @@ static bool it6263_hdmi_writeable_reg(struct device *dev, unsigned int reg)
case HDMI_REG_HDMI_MODE:
case HDMI_REG_GCP:
case HDMI_REG_PKT_GENERAL_CTRL:
+ case HDMI_REG_PKT_NULL_CTRL:
case HDMI_REG_AVI_INFOFRM_CTRL:
+ case HDMI_REG_PKT_HB(0) ... HDMI_REG_PKT_PB(HDMI_MAX_INFOFRAME_SIZE):
case HDMI_REG_AVI_DB1:
case HDMI_REG_AVI_DB2:
case HDMI_REG_AVI_DB3:
@@ -755,10 +766,16 @@ static int it6263_hdmi_clear_infoframe(struct drm_bridge *bridge,
{
struct it6263 *it = bridge_to_it6263(bridge);
- if (type == HDMI_INFOFRAME_TYPE_AVI)
+ switch (type) {
+ case HDMI_INFOFRAME_TYPE_AVI:
regmap_write(it->hdmi_regmap, HDMI_REG_AVI_INFOFRM_CTRL, 0);
- else
+ break;
+ case HDMI_INFOFRAME_TYPE_VENDOR:
+ regmap_write(it->hdmi_regmap, HDMI_REG_PKT_NULL_CTRL, 0);
+ break;
+ default:
dev_dbg(it->dev, "unsupported HDMI infoframe 0x%x\n", type);
+ }
return 0;
}
@@ -770,27 +787,42 @@ static int it6263_hdmi_write_infoframe(struct drm_bridge *bridge,
struct it6263 *it = bridge_to_it6263(bridge);
struct regmap *regmap = it->hdmi_regmap;
- if (type != HDMI_INFOFRAME_TYPE_AVI) {
+ switch (type) {
+ case HDMI_INFOFRAME_TYPE_AVI:
+ /* write the first AVI infoframe data byte chunk(DB1-DB5) */
+ regmap_bulk_write(regmap, HDMI_REG_AVI_DB1,
+ &buffer[HDMI_INFOFRAME_HEADER_SIZE],
+ HDMI_AVI_DB_CHUNK1_SIZE);
+
+ /* write the second AVI infoframe data byte chunk(DB6-DB13) */
+ regmap_bulk_write(regmap, HDMI_REG_AVI_DB6,
+ &buffer[HDMI_INFOFRAME_HEADER_SIZE +
+ HDMI_AVI_DB_CHUNK1_SIZE],
+ HDMI_AVI_DB_CHUNK2_SIZE);
+
+ /* write checksum */
+ regmap_write(regmap, HDMI_REG_AVI_CSUM, buffer[3]);
+
+ regmap_write(regmap, HDMI_REG_AVI_INFOFRM_CTRL,
+ ENABLE_PKT | REPEAT_PKT);
+ break;
+ case HDMI_INFOFRAME_TYPE_VENDOR:
+ const char zero_bulk[HDMI_PKT_HB_PB_CHUNK_SIZE] = { };
+
+ /* clear NULL packet registers due to undefined default value */
+ regmap_bulk_write(regmap, HDMI_REG_PKT_HB(0),
+ zero_bulk, sizeof(zero_bulk));
+
+ /* write header and payload */
+ regmap_bulk_write(regmap, HDMI_REG_PKT_HB(0), buffer, len);
+
+ regmap_write(regmap, HDMI_REG_PKT_NULL_CTRL,
+ ENABLE_PKT | REPEAT_PKT);
+ break;
+ default:
dev_dbg(it->dev, "unsupported HDMI infoframe 0x%x\n", type);
- return 0;
}
- /* write the first AVI infoframe data byte chunk(DB1-DB5) */
- regmap_bulk_write(regmap, HDMI_REG_AVI_DB1,
- &buffer[HDMI_INFOFRAME_HEADER_SIZE],
- HDMI_AVI_DB_CHUNK1_SIZE);
-
- /* write the second AVI infoframe data byte chunk(DB6-DB13) */
- regmap_bulk_write(regmap, HDMI_REG_AVI_DB6,
- &buffer[HDMI_INFOFRAME_HEADER_SIZE +
- HDMI_AVI_DB_CHUNK1_SIZE],
- HDMI_AVI_DB_CHUNK2_SIZE);
-
- /* write checksum */
- regmap_write(regmap, HDMI_REG_AVI_CSUM, buffer[3]);
-
- regmap_write(regmap, HDMI_REG_AVI_INFOFRM_CTRL, ENABLE_PKT | REPEAT_PKT);
-
return 0;
}
---
base-commit: 4ac65880ebca1b68495bd8704263b26c050ac010
change-id: 20250904-it6263-vendor-specific-infoframe-aa40214f41f7
Best regards,
--
Liu Ying <victor.liu@nxp.com>
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] drm/bridge: ite-it6263: Support HDMI vendor specific infoframe
2025-09-04 9:10 [PATCH] drm/bridge: ite-it6263: Support HDMI vendor specific infoframe Liu Ying
@ 2025-09-04 22:40 ` Dmitry Baryshkov
2025-09-05 5:46 ` Liu Ying
2025-09-05 21:08 ` kernel test robot
2025-09-05 21:50 ` kernel test robot
2 siblings, 1 reply; 7+ messages in thread
From: Dmitry Baryshkov @ 2025-09-04 22:40 UTC (permalink / raw)
To: Liu Ying
Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Dmitry Baryshkov,
dri-devel, linux-kernel
On Thu, Sep 04, 2025 at 05:10:02PM +0800, Liu Ying wrote:
> IT6263 supports HDMI vendor specific infoframe. The infoframe header
> and payload are configurable via NULL packet registers. The infoframe
> is enabled and disabled via PKT_NULL_CTRL register. Add the HDMI vendor
> specific infoframe support.
>
> Signed-off-by: Liu Ying <victor.liu@nxp.com>
> ---
> drivers/gpu/drm/bridge/ite-it6263.c | 72 ++++++++++++++++++++++++++-----------
> 1 file changed, 52 insertions(+), 20 deletions(-)
>
> + case HDMI_INFOFRAME_TYPE_VENDOR:
> + const char zero_bulk[HDMI_PKT_HB_PB_CHUNK_SIZE] = { };
> +
> + /* clear NULL packet registers due to undefined default value */
> + regmap_bulk_write(regmap, HDMI_REG_PKT_HB(0),
> + zero_bulk, sizeof(zero_bulk));
What if you move this to the probe function? Then there will be no need
to write those registers each time the infoframe is being written.
LGTM otherwise.
> +
> + /* write header and payload */
> + regmap_bulk_write(regmap, HDMI_REG_PKT_HB(0), buffer, len);
> +
> + regmap_write(regmap, HDMI_REG_PKT_NULL_CTRL,
> + ENABLE_PKT | REPEAT_PKT);
> + break;
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] drm/bridge: ite-it6263: Support HDMI vendor specific infoframe
2025-09-04 22:40 ` Dmitry Baryshkov
@ 2025-09-05 5:46 ` Liu Ying
2025-09-05 14:31 ` Dmitry Baryshkov
0 siblings, 1 reply; 7+ messages in thread
From: Liu Ying @ 2025-09-05 5:46 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Dmitry Baryshkov,
dri-devel, linux-kernel
On 09/05/2025, Dmitry Baryshkov wrote:
> On Thu, Sep 04, 2025 at 05:10:02PM +0800, Liu Ying wrote:
>> IT6263 supports HDMI vendor specific infoframe. The infoframe header
>> and payload are configurable via NULL packet registers. The infoframe
>> is enabled and disabled via PKT_NULL_CTRL register. Add the HDMI vendor
>> specific infoframe support.
>>
>> Signed-off-by: Liu Ying <victor.liu@nxp.com>
>> ---
>> drivers/gpu/drm/bridge/ite-it6263.c | 72 ++++++++++++++++++++++++++-----------
>> 1 file changed, 52 insertions(+), 20 deletions(-)
>>
>> + case HDMI_INFOFRAME_TYPE_VENDOR:
>> + const char zero_bulk[HDMI_PKT_HB_PB_CHUNK_SIZE] = { };
>> +
>> + /* clear NULL packet registers due to undefined default value */
>> + regmap_bulk_write(regmap, HDMI_REG_PKT_HB(0),
>> + zero_bulk, sizeof(zero_bulk));
>
> What if you move this to the probe function? Then there will be no need
> to write those registers each time the infoframe is being written.
Good idea. But looking at drm_hdmi_vendor_infoframe_from_display_mode(),
hdmi_vendor_infoframe_length() and hdmi_vendor_infoframe_pack_only(), the
payload length could be changed in runtime according to display mode's VIC
and flags(see DRM_MODE_FLAG_3D_MASK). And, IT6263 supports HDMI1.4a 3D
formats according to it's product information[1]. So, it makes sense to
clear HDMI_REG_PKT_PB(5) and HDMI_REG_PKT_PB(6) here which map to ptr[8]
and ptr[9] in hdmi_vendor_infoframe_pack_only(). For v2, I'd move the
NULL packet registers bulk write to it6263_hdmi_config()(i.e., it6263_probe())
and write zero to HDMI_REG_PKT_PB(5) and HDMI_REG_PKT_PB(6) here.
What do you think?
[1] www.ite.com.tw/en/product/cate1/IT6263
>
> LGTM otherwise.
>
>> +
>> + /* write header and payload */
>> + regmap_bulk_write(regmap, HDMI_REG_PKT_HB(0), buffer, len);
>> +
>> + regmap_write(regmap, HDMI_REG_PKT_NULL_CTRL,
>> + ENABLE_PKT | REPEAT_PKT);
>> + break;
>
--
Regards,
Liu Ying
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] drm/bridge: ite-it6263: Support HDMI vendor specific infoframe
2025-09-05 5:46 ` Liu Ying
@ 2025-09-05 14:31 ` Dmitry Baryshkov
2025-09-08 5:38 ` Liu Ying
0 siblings, 1 reply; 7+ messages in thread
From: Dmitry Baryshkov @ 2025-09-05 14:31 UTC (permalink / raw)
To: Liu Ying
Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Dmitry Baryshkov,
dri-devel, linux-kernel
On Fri, Sep 05, 2025 at 01:46:56PM +0800, Liu Ying wrote:
> On 09/05/2025, Dmitry Baryshkov wrote:
> > On Thu, Sep 04, 2025 at 05:10:02PM +0800, Liu Ying wrote:
> >> IT6263 supports HDMI vendor specific infoframe. The infoframe header
> >> and payload are configurable via NULL packet registers. The infoframe
> >> is enabled and disabled via PKT_NULL_CTRL register. Add the HDMI vendor
> >> specific infoframe support.
> >>
> >> Signed-off-by: Liu Ying <victor.liu@nxp.com>
> >> ---
> >> drivers/gpu/drm/bridge/ite-it6263.c | 72 ++++++++++++++++++++++++++-----------
> >> 1 file changed, 52 insertions(+), 20 deletions(-)
> >>
> >> + case HDMI_INFOFRAME_TYPE_VENDOR:
> >> + const char zero_bulk[HDMI_PKT_HB_PB_CHUNK_SIZE] = { };
> >> +
> >> + /* clear NULL packet registers due to undefined default value */
> >> + regmap_bulk_write(regmap, HDMI_REG_PKT_HB(0),
> >> + zero_bulk, sizeof(zero_bulk));
> >
> > What if you move this to the probe function? Then there will be no need
> > to write those registers each time the infoframe is being written.
>
> Good idea. But looking at drm_hdmi_vendor_infoframe_from_display_mode(),
> hdmi_vendor_infoframe_length() and hdmi_vendor_infoframe_pack_only(), the
> payload length could be changed in runtime according to display mode's VIC
> and flags(see DRM_MODE_FLAG_3D_MASK). And, IT6263 supports HDMI1.4a 3D
> formats according to it's product information[1]. So, it makes sense to
> clear HDMI_REG_PKT_PB(5) and HDMI_REG_PKT_PB(6) here which map to ptr[8]
> and ptr[9] in hdmi_vendor_infoframe_pack_only(). For v2, I'd move the
> NULL packet registers bulk write to it6263_hdmi_config()(i.e., it6263_probe())
> and write zero to HDMI_REG_PKT_PB(5) and HDMI_REG_PKT_PB(6) here.
Then you don't even need to write zeroes in probe(). Just write
something like:
regmap_bulk_write(regmap, HDMI_REG_PKT_HB(len), zero_bulk, FRAMESIZE-len);
But as a note: I don't think other drivers zero out packet memory. I
think it's expected that displays ignore the frame after the 'len'
bytes.
>
> What do you think?
>
> [1] www.ite.com.tw/en/product/cate1/IT6263
>
> >
> > LGTM otherwise.
> >
> >> +
> >> + /* write header and payload */
> >> + regmap_bulk_write(regmap, HDMI_REG_PKT_HB(0), buffer, len);
> >> +
> >> + regmap_write(regmap, HDMI_REG_PKT_NULL_CTRL,
> >> + ENABLE_PKT | REPEAT_PKT);
> >> + break;
> >
>
> --
> Regards,
> Liu Ying
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] drm/bridge: ite-it6263: Support HDMI vendor specific infoframe
2025-09-05 14:31 ` Dmitry Baryshkov
@ 2025-09-08 5:38 ` Liu Ying
0 siblings, 0 replies; 7+ messages in thread
From: Liu Ying @ 2025-09-08 5:38 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Dmitry Baryshkov,
dri-devel, linux-kernel
On 09/05/2025, Dmitry Baryshkov wrote:
> On Fri, Sep 05, 2025 at 01:46:56PM +0800, Liu Ying wrote:
>> On 09/05/2025, Dmitry Baryshkov wrote:
>>> On Thu, Sep 04, 2025 at 05:10:02PM +0800, Liu Ying wrote:
>>>> IT6263 supports HDMI vendor specific infoframe. The infoframe header
>>>> and payload are configurable via NULL packet registers. The infoframe
>>>> is enabled and disabled via PKT_NULL_CTRL register. Add the HDMI vendor
>>>> specific infoframe support.
>>>>
>>>> Signed-off-by: Liu Ying <victor.liu@nxp.com>
>>>> ---
>>>> drivers/gpu/drm/bridge/ite-it6263.c | 72 ++++++++++++++++++++++++++-----------
>>>> 1 file changed, 52 insertions(+), 20 deletions(-)
>>>>
>>>> + case HDMI_INFOFRAME_TYPE_VENDOR:
>>>> + const char zero_bulk[HDMI_PKT_HB_PB_CHUNK_SIZE] = { };
>>>> +
>>>> + /* clear NULL packet registers due to undefined default value */
>>>> + regmap_bulk_write(regmap, HDMI_REG_PKT_HB(0),
>>>> + zero_bulk, sizeof(zero_bulk));
>>>
>>> What if you move this to the probe function? Then there will be no need
>>> to write those registers each time the infoframe is being written.
>>
>> Good idea. But looking at drm_hdmi_vendor_infoframe_from_display_mode(),
>> hdmi_vendor_infoframe_length() and hdmi_vendor_infoframe_pack_only(), the
>> payload length could be changed in runtime according to display mode's VIC
>> and flags(see DRM_MODE_FLAG_3D_MASK). And, IT6263 supports HDMI1.4a 3D
>> formats according to it's product information[1]. So, it makes sense to
>> clear HDMI_REG_PKT_PB(5) and HDMI_REG_PKT_PB(6) here which map to ptr[8]
>> and ptr[9] in hdmi_vendor_infoframe_pack_only(). For v2, I'd move the
>> NULL packet registers bulk write to it6263_hdmi_config()(i.e., it6263_probe())
>> and write zero to HDMI_REG_PKT_PB(5) and HDMI_REG_PKT_PB(6) here.
>
> Then you don't even need to write zeroes in probe(). Just write
> something like:
>
> regmap_bulk_write(regmap, HDMI_REG_PKT_HB(len), zero_bulk, FRAMESIZE-len);
>
> But as a note: I don't think other drivers zero out packet memory. I
> think it's expected that displays ignore the frame after the 'len'
> bytes.
Then I'd choose not to zero out any packet memory since it turns out at
least for my setup that the vendor specific infoframe can be captured by
HDMI analyzer without doing that(HDMI analyzer does show leftover random
packet data).
>
>>
>> What do you think?
>>
>> [1] http://www.ite.com.tw/en/product/cate1/IT6263
>>
>>>
>>> LGTM otherwise.
>>>
>>>> +
>>>> + /* write header and payload */
>>>> + regmap_bulk_write(regmap, HDMI_REG_PKT_HB(0), buffer, len);
>>>> +
>>>> + regmap_write(regmap, HDMI_REG_PKT_NULL_CTRL,
>>>> + ENABLE_PKT | REPEAT_PKT);
>>>> + break;
>>>
>>
>> --
>> Regards,
>> Liu Ying
>
--
Regards,
Liu Ying
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/bridge: ite-it6263: Support HDMI vendor specific infoframe
2025-09-04 9:10 [PATCH] drm/bridge: ite-it6263: Support HDMI vendor specific infoframe Liu Ying
2025-09-04 22:40 ` Dmitry Baryshkov
@ 2025-09-05 21:08 ` kernel test robot
2025-09-05 21:50 ` kernel test robot
2 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2025-09-05 21:08 UTC (permalink / raw)
To: Liu Ying, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Simona Vetter, Dmitry Baryshkov
Cc: llvm, oe-kbuild-all, dri-devel, linux-kernel, Liu Ying
Hi Liu,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 4ac65880ebca1b68495bd8704263b26c050ac010]
url: https://github.com/intel-lab-lkp/linux/commits/Liu-Ying/drm-bridge-ite-it6263-Support-HDMI-vendor-specific-infoframe/20250904-171143
base: 4ac65880ebca1b68495bd8704263b26c050ac010
patch link: https://lore.kernel.org/r/20250904-it6263-vendor-specific-infoframe-v1-1-6efe6545b634%40nxp.com
patch subject: [PATCH] drm/bridge: ite-it6263: Support HDMI vendor specific infoframe
config: i386-buildonly-randconfig-001-20250906 (https://download.01.org/0day-ci/archive/20250906/202509060412.LmXs40Rg-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250906/202509060412.LmXs40Rg-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509060412.LmXs40Rg-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/gpu/drm/bridge/ite-it6263.c:810:3: warning: label followed by a declaration is a C23 extension [-Wc23-extensions]
810 | const char zero_bulk[HDMI_PKT_HB_PB_CHUNK_SIZE] = { };
| ^
1 warning generated.
vim +810 drivers/gpu/drm/bridge/ite-it6263.c
782
783 static int it6263_hdmi_write_infoframe(struct drm_bridge *bridge,
784 enum hdmi_infoframe_type type,
785 const u8 *buffer, size_t len)
786 {
787 struct it6263 *it = bridge_to_it6263(bridge);
788 struct regmap *regmap = it->hdmi_regmap;
789
790 switch (type) {
791 case HDMI_INFOFRAME_TYPE_AVI:
792 /* write the first AVI infoframe data byte chunk(DB1-DB5) */
793 regmap_bulk_write(regmap, HDMI_REG_AVI_DB1,
794 &buffer[HDMI_INFOFRAME_HEADER_SIZE],
795 HDMI_AVI_DB_CHUNK1_SIZE);
796
797 /* write the second AVI infoframe data byte chunk(DB6-DB13) */
798 regmap_bulk_write(regmap, HDMI_REG_AVI_DB6,
799 &buffer[HDMI_INFOFRAME_HEADER_SIZE +
800 HDMI_AVI_DB_CHUNK1_SIZE],
801 HDMI_AVI_DB_CHUNK2_SIZE);
802
803 /* write checksum */
804 regmap_write(regmap, HDMI_REG_AVI_CSUM, buffer[3]);
805
806 regmap_write(regmap, HDMI_REG_AVI_INFOFRM_CTRL,
807 ENABLE_PKT | REPEAT_PKT);
808 break;
809 case HDMI_INFOFRAME_TYPE_VENDOR:
> 810 const char zero_bulk[HDMI_PKT_HB_PB_CHUNK_SIZE] = { };
811
812 /* clear NULL packet registers due to undefined default value */
813 regmap_bulk_write(regmap, HDMI_REG_PKT_HB(0),
814 zero_bulk, sizeof(zero_bulk));
815
816 /* write header and payload */
817 regmap_bulk_write(regmap, HDMI_REG_PKT_HB(0), buffer, len);
818
819 regmap_write(regmap, HDMI_REG_PKT_NULL_CTRL,
820 ENABLE_PKT | REPEAT_PKT);
821 break;
822 default:
823 dev_dbg(it->dev, "unsupported HDMI infoframe 0x%x\n", type);
824 }
825
826 return 0;
827 }
828
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] drm/bridge: ite-it6263: Support HDMI vendor specific infoframe
2025-09-04 9:10 [PATCH] drm/bridge: ite-it6263: Support HDMI vendor specific infoframe Liu Ying
2025-09-04 22:40 ` Dmitry Baryshkov
2025-09-05 21:08 ` kernel test robot
@ 2025-09-05 21:50 ` kernel test robot
2 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2025-09-05 21:50 UTC (permalink / raw)
To: Liu Ying, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Simona Vetter, Dmitry Baryshkov
Cc: oe-kbuild-all, dri-devel, linux-kernel, Liu Ying
Hi Liu,
kernel test robot noticed the following build errors:
[auto build test ERROR on 4ac65880ebca1b68495bd8704263b26c050ac010]
url: https://github.com/intel-lab-lkp/linux/commits/Liu-Ying/drm-bridge-ite-it6263-Support-HDMI-vendor-specific-infoframe/20250904-171143
base: 4ac65880ebca1b68495bd8704263b26c050ac010
patch link: https://lore.kernel.org/r/20250904-it6263-vendor-specific-infoframe-v1-1-6efe6545b634%40nxp.com
patch subject: [PATCH] drm/bridge: ite-it6263: Support HDMI vendor specific infoframe
config: xtensa-randconfig-002-20250906 (https://download.01.org/0day-ci/archive/20250906/202509060506.8qlqQKQi-lkp@intel.com/config)
compiler: xtensa-linux-gcc (GCC) 10.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250906/202509060506.8qlqQKQi-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509060506.8qlqQKQi-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/gpu/drm/bridge/ite-it6263.c: In function 'it6263_hdmi_write_infoframe':
>> drivers/gpu/drm/bridge/ite-it6263.c:810:3: error: a label can only be part of a statement and a declaration is not a statement
810 | const char zero_bulk[HDMI_PKT_HB_PB_CHUNK_SIZE] = { };
| ^~~~~
vim +810 drivers/gpu/drm/bridge/ite-it6263.c
782
783 static int it6263_hdmi_write_infoframe(struct drm_bridge *bridge,
784 enum hdmi_infoframe_type type,
785 const u8 *buffer, size_t len)
786 {
787 struct it6263 *it = bridge_to_it6263(bridge);
788 struct regmap *regmap = it->hdmi_regmap;
789
790 switch (type) {
791 case HDMI_INFOFRAME_TYPE_AVI:
792 /* write the first AVI infoframe data byte chunk(DB1-DB5) */
793 regmap_bulk_write(regmap, HDMI_REG_AVI_DB1,
794 &buffer[HDMI_INFOFRAME_HEADER_SIZE],
795 HDMI_AVI_DB_CHUNK1_SIZE);
796
797 /* write the second AVI infoframe data byte chunk(DB6-DB13) */
798 regmap_bulk_write(regmap, HDMI_REG_AVI_DB6,
799 &buffer[HDMI_INFOFRAME_HEADER_SIZE +
800 HDMI_AVI_DB_CHUNK1_SIZE],
801 HDMI_AVI_DB_CHUNK2_SIZE);
802
803 /* write checksum */
804 regmap_write(regmap, HDMI_REG_AVI_CSUM, buffer[3]);
805
806 regmap_write(regmap, HDMI_REG_AVI_INFOFRM_CTRL,
807 ENABLE_PKT | REPEAT_PKT);
808 break;
809 case HDMI_INFOFRAME_TYPE_VENDOR:
> 810 const char zero_bulk[HDMI_PKT_HB_PB_CHUNK_SIZE] = { };
811
812 /* clear NULL packet registers due to undefined default value */
813 regmap_bulk_write(regmap, HDMI_REG_PKT_HB(0),
814 zero_bulk, sizeof(zero_bulk));
815
816 /* write header and payload */
817 regmap_bulk_write(regmap, HDMI_REG_PKT_HB(0), buffer, len);
818
819 regmap_write(regmap, HDMI_REG_PKT_NULL_CTRL,
820 ENABLE_PKT | REPEAT_PKT);
821 break;
822 default:
823 dev_dbg(it->dev, "unsupported HDMI infoframe 0x%x\n", type);
824 }
825
826 return 0;
827 }
828
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-09-08 5:37 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-04 9:10 [PATCH] drm/bridge: ite-it6263: Support HDMI vendor specific infoframe Liu Ying
2025-09-04 22:40 ` Dmitry Baryshkov
2025-09-05 5:46 ` Liu Ying
2025-09-05 14:31 ` Dmitry Baryshkov
2025-09-08 5:38 ` Liu Ying
2025-09-05 21:08 ` kernel test robot
2025-09-05 21:50 ` kernel test robot
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®