2022-07-22 12:59:21

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH V4 0/8] imx: add i.MX8MP hdmi blk ctrl hdcp/hrv and vpu blk ctrl

From: Peng Fan <[email protected]>

V4:
Add R-b for patch 2
Add a new patch 3 to introduce interconnect property for i.MX8MM VPU blk ctrl,
same to other properties, i.MX8MM/P could use their own names in patch 4

V3:
Per DT maitainer, add a new patch to clean up minItems, see patch 2

V2:
- Add A-b from DT maintainer for patch 1
- Per DT maintainer, I added description for items. To
make it consistent, I also added description to i.MX8MM.
- Per Adam, change VPU H1/h1 to VC8000E/vc8000e in the patchset.

This patchset is to add more blk ctrl support for i.MX8MP
- Add HDMI HDCP/HRV BLK CTRL support
- Add VPU BLK CTRL support
- Add PGC VPU node which supplies power domain for VPU BLK
This patchset is based on:
https://lore.kernel.org/all/[email protected]/

repo: https://github.com/MrVan/linux/tree/imx8mp-blk-ctrl

Peng Fan (8):
dt-bindings: power: imx8mp-power: add HDMI HDCP/HRV
dt-bindings: soc: imx: drop minItems for i.MX8MM vpu blk ctrl
dt-bindings: soc: imx: add interconnect property for i.MX8MM vpu blk
ctrl
dt-bindings: soc: imx: add i.MX8MP vpu blk ctrl
soc: imx: add i.MX8MP HDMI blk ctrl HDCP/HRV
soc: imx: imx8m-blk-ctrl: add i.MX8MP VPU blk ctrl
arm64: dts: imx8mp: add vpu pgc nodes
arm64: dts: imx8mp: add VPU blk ctrl node

.../soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml | 110 ++++++++++++++++--
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 45 +++++++
drivers/soc/imx/imx8m-blk-ctrl.c | 43 +++++++
drivers/soc/imx/imx8mp-blk-ctrl.c | 30 +++++
include/dt-bindings/power/imx8mp-power.h | 6 +
5 files changed, 223 insertions(+), 11 deletions(-)

--
2.25.1


2022-07-22 13:00:06

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH V4 5/8] soc: imx: add i.MX8MP HDMI blk ctrl HDCP/HRV

From: Peng Fan <[email protected]>

i.MX8MP HDMI supports HDCP and HRV, so add them.

Signed-off-by: Peng Fan <[email protected]>
---
drivers/soc/imx/imx8mp-blk-ctrl.c | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

diff --git a/drivers/soc/imx/imx8mp-blk-ctrl.c b/drivers/soc/imx/imx8mp-blk-ctrl.c
index 6f983adcb47c..527d45d12a54 100644
--- a/drivers/soc/imx/imx8mp-blk-ctrl.c
+++ b/drivers/soc/imx/imx8mp-blk-ctrl.c
@@ -235,6 +235,13 @@ static void imx8mp_hdmi_blk_ctrl_power_on(struct imx8mp_blk_ctrl *bc,
regmap_set_bits(bc->regmap, HDMI_RTX_RESET_CTL0, BIT(12));
regmap_clear_bits(bc->regmap, HDMI_TX_CONTROL0, BIT(3));
break;
+ case IMX8MP_HDMIBLK_PD_HDCP:
+ regmap_set_bits(bc->regmap, HDMI_RTX_CLK_CTL0, BIT(11));
+ break;
+ case IMX8MP_HDMIBLK_PD_HRV:
+ regmap_set_bits(bc->regmap, HDMI_RTX_CLK_CTL1, BIT(3) | BIT(4) | BIT(5));
+ regmap_set_bits(bc->regmap, HDMI_RTX_RESET_CTL0, BIT(15));
+ break;
default:
break;
}
@@ -283,6 +290,13 @@ static void imx8mp_hdmi_blk_ctrl_power_off(struct imx8mp_blk_ctrl *bc,
regmap_clear_bits(bc->regmap, HDMI_RTX_RESET_CTL0, BIT(12));
regmap_clear_bits(bc->regmap, HDMI_RTX_CLK_CTL1, BIT(22) | BIT(24));
break;
+ case IMX8MP_HDMIBLK_PD_HDCP:
+ regmap_clear_bits(bc->regmap, HDMI_RTX_CLK_CTL0, BIT(11));
+ break;
+ case IMX8MP_HDMIBLK_PD_HRV:
+ regmap_clear_bits(bc->regmap, HDMI_RTX_RESET_CTL0, BIT(15));
+ regmap_clear_bits(bc->regmap, HDMI_RTX_CLK_CTL1, BIT(3) | BIT(4) | BIT(5));
+ break;
default:
break;
}
@@ -365,6 +379,22 @@ static const struct imx8mp_blk_ctrl_domain_data imx8mp_hdmi_domain_data[] = {
.num_clks = 2,
.gpc_name = "hdmi-tx-phy",
},
+ [IMX8MP_HDMIBLK_PD_HRV] = {
+ .name = "hdmiblk-hrv",
+ .clk_names = (const char *[]){ "axi", "apb" },
+ .num_clks = 2,
+ .gpc_name = "hrv",
+ .path_names = (const char *[]){"hrv"},
+ .num_paths = 1,
+ },
+ [IMX8MP_HDMIBLK_PD_HDCP] = {
+ .name = "hdmiblk-hdcp",
+ .clk_names = (const char *[]){ "axi", "apb" },
+ .num_clks = 2,
+ .gpc_name = "hdcp",
+ .path_names = (const char *[]){"hdcp"},
+ .num_paths = 1,
+ },
};

static const struct imx8mp_blk_ctrl_data imx8mp_hdmi_blk_ctl_dev_data = {
--
2.25.1

2022-07-22 13:00:26

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH V4 8/8] arm64: dts: imx8mp: add VPU blk ctrl node

From: Peng Fan <[email protected]>

Add i.MX8MP VPU blk ctrl node

Signed-off-by: Peng Fan <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index 34af983b0210..493fc3ceec1f 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -1185,6 +1185,24 @@ gic: interrupt-controller@38800000 {
interrupt-parent = <&gic>;
};

+ vpumix_blk_ctrl: blk-ctrl@38330000 {
+ compatible = "fsl,imx8mp-vpu-blk-ctrl", "syscon";
+ reg = <0x38330000 0x100>;
+ #power-domain-cells = <1>;
+ power-domains = <&pgc_vpumix>, <&pgc_vpu_g1>,
+ <&pgc_vpu_g2>, <&pgc_vpu_vc8000e>;
+ power-domain-names = "bus", "g1", "g2", "vc8000e";
+ clocks = <&clk IMX8MP_CLK_VPU_G1_ROOT>,
+ <&clk IMX8MP_CLK_VPU_G2_ROOT>,
+ <&clk IMX8MP_CLK_VPU_VC8KE_ROOT>;
+ clock-names = "g1", "g2", "vc8000e";
+ interconnects = <&noc IMX8MP_ICM_VPU_G1 &noc IMX8MP_ICN_VIDEO>,
+ <&noc IMX8MP_ICM_VPU_G2 &noc IMX8MP_ICN_VIDEO>,
+ <&noc IMX8MP_ICM_VPU_H1 &noc IMX8MP_ICN_VIDEO>;
+ interconnect-names = "g1", "g2", "vc8000e";
+ };
+
+
edacmc: memory-controller@3d400000 {
compatible = "snps,ddrc-3.80a";
reg = <0x3d400000 0x400000>;
--
2.25.1

2022-07-22 13:00:52

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH V4 7/8] arm64: dts: imx8mp: add vpu pgc nodes

From: Peng Fan <[email protected]>

Add i.MX8MP PGC nodes for vpu, which are used to supply power for VPU.

Signed-off-by: Peng Fan <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 27 +++++++++++++++++++++++
1 file changed, 27 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index 0b165f98a82c..34af983b0210 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -598,6 +598,33 @@ pgc_ispdwp: power-domain@18 {
reg = <IMX8MP_POWER_DOMAIN_MEDIAMIX_ISPDWP>;
clocks = <&clk IMX8MP_CLK_MEDIA_ISP_ROOT>;
};
+
+ pgc_vpumix: power-domain@19 {
+ #power-domain-cells = <0>;
+ reg = <IMX8MP_POWER_DOMAIN_VPUMIX>;
+ clocks =<&clk IMX8MP_CLK_VPU_ROOT>;
+ };
+
+ pgc_vpu_g1: power-domain@20 {
+ #power-domain-cells = <0>;
+ power-domains = <&pgc_vpumix>;
+ reg = <IMX8MP_POWER_DOMAIN_VPU_G1>;
+ clocks = <&clk IMX8MP_CLK_VPU_G1_ROOT>;
+ };
+
+ pgc_vpu_g2: power-domain@21 {
+ #power-domain-cells = <0>;
+ power-domains = <&pgc_vpumix>;
+ reg = <IMX8MP_POWER_DOMAIN_VPU_G2>;
+ clocks = <&clk IMX8MP_CLK_VPU_G2_ROOT>;
+ };
+
+ pgc_vpu_vc8000e: power-domain@22 {
+ #power-domain-cells = <0>;
+ power-domains = <&pgc_vpumix>;
+ reg = <IMX8MP_POWER_DOMAIN_VPU_VC8000E>;
+ clocks = <&clk IMX8MP_CLK_VPU_VC8KE_ROOT>;
+ };
};
};
};
--
2.25.1

2022-07-22 13:15:48

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH V4 3/8] dt-bindings: soc: imx: add interconnect property for i.MX8MM vpu blk ctrl

From: Peng Fan <[email protected]>

i.MX8MM VPU support NoC QoS setting, so add interconnect property
for i.MX8MM VPU blk ctrl

Signed-off-by: Peng Fan <[email protected]>
---
.../bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml
index b3fb529b399c..d79e5d2634d6 100644
--- a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml
+++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml
@@ -45,6 +45,18 @@ properties:
- const: g2
- const: h1

+ interconnects:
+ items:
+ - description: G1 decoder interconnect
+ - description: G2 decoder interconnect
+ - description: H1 encoder power domain
+
+ interconnect-names:
+ items:
+ - const: g1
+ - const: g2
+ - const: h1
+
required:
- compatible
- reg
--
2.25.1

2022-07-22 13:18:32

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH V4 1/8] dt-bindings: power: imx8mp-power: add HDMI HDCP/HRV

From: Peng Fan <[email protected]>

Add i.MX8MP HDMI HDCP and HRV entries.

Acked-by: Krzysztof Kozlowski <[email protected]>
Signed-off-by: Peng Fan <[email protected]>
---
include/dt-bindings/power/imx8mp-power.h | 2 ++
1 file changed, 2 insertions(+)

diff --git a/include/dt-bindings/power/imx8mp-power.h b/include/dt-bindings/power/imx8mp-power.h
index 7789bcca3223..14b9c5ac9c82 100644
--- a/include/dt-bindings/power/imx8mp-power.h
+++ b/include/dt-bindings/power/imx8mp-power.h
@@ -49,5 +49,7 @@
#define IMX8MP_HDMIBLK_PD_TRNG 4
#define IMX8MP_HDMIBLK_PD_HDMI_TX 5
#define IMX8MP_HDMIBLK_PD_HDMI_TX_PHY 6
+#define IMX8MP_HDMIBLK_PD_HDCP 7
+#define IMX8MP_HDMIBLK_PD_HRV 8

#endif
--
2.25.1

2022-07-22 13:21:06

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH V4 6/8] soc: imx: imx8m-blk-ctrl: add i.MX8MP VPU blk ctrl

From: Peng Fan <[email protected]>

i.MX8MP has a VPU blk ctrl module that could supply clk and reset to
VPU, so add support for it.

Signed-off-by: Peng Fan <[email protected]>
---
drivers/soc/imx/imx8m-blk-ctrl.c | 43 ++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)

diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c b/drivers/soc/imx/imx8m-blk-ctrl.c
index 9b0f81dc292b..871a387c6b41 100644
--- a/drivers/soc/imx/imx8m-blk-ctrl.c
+++ b/drivers/soc/imx/imx8m-blk-ctrl.c
@@ -484,6 +484,46 @@ static const struct imx8m_blk_ctrl_data imx8mm_vpu_blk_ctl_dev_data = {
.num_domains = ARRAY_SIZE(imx8mm_vpu_blk_ctl_domain_data),
};

+static const struct imx8m_blk_ctrl_domain_data imx8mp_vpu_blk_ctl_domain_data[] = {
+ [IMX8MP_VPUBLK_PD_G1] = {
+ .name = "vpublk-g1",
+ .clk_names = (const char *[]){ "g1", },
+ .num_clks = 1,
+ .gpc_name = "g1",
+ .rst_mask = BIT(1),
+ .clk_mask = BIT(1),
+ .path_names = (const char *[]){"g1"},
+ .num_paths = 1,
+ },
+ [IMX8MP_VPUBLK_PD_G2] = {
+ .name = "vpublk-g2",
+ .clk_names = (const char *[]){ "g2", },
+ .num_clks = 1,
+ .gpc_name = "g2",
+ .rst_mask = BIT(0),
+ .clk_mask = BIT(0),
+ .path_names = (const char *[]){"g2"},
+ .num_paths = 1,
+ },
+ [IMX8MP_VPUBLK_PD_VC8000E] = {
+ .name = "vpublk-vc8000e",
+ .clk_names = (const char *[]){ "vc8000e", },
+ .num_clks = 1,
+ .gpc_name = "vc8000e",
+ .rst_mask = BIT(2),
+ .clk_mask = BIT(2),
+ .path_names = (const char *[]){"vc8000e"},
+ .num_paths = 1,
+ },
+};
+
+static const struct imx8m_blk_ctrl_data imx8mp_vpu_blk_ctl_dev_data = {
+ .max_reg = 0x18,
+ .power_notifier_fn = imx8mm_vpu_power_notifier,
+ .domains = imx8mp_vpu_blk_ctl_domain_data,
+ .num_domains = ARRAY_SIZE(imx8mp_vpu_blk_ctl_domain_data),
+};
+
static int imx8mm_disp_power_notifier(struct notifier_block *nb,
unsigned long action, void *data)
{
@@ -827,6 +867,9 @@ static const struct of_device_id imx8m_blk_ctrl_of_match[] = {
}, {
.compatible = "fsl,imx8mq-vpu-blk-ctrl",
.data = &imx8mq_vpu_blk_ctl_dev_data
+ }, {
+ .compatible = "fsl,imx8mp-vpu-blk-ctrl",
+ .data = &imx8mp_vpu_blk_ctl_dev_data
}, {
/* Sentinel */
}
--
2.25.1

2022-07-22 16:56:57

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH V4 5/8] soc: imx: add i.MX8MP HDMI blk ctrl HDCP/HRV

Hi "Peng,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on shawnguo/for-next]
[also build test ERROR on linus/master v5.19-rc7 next-20220722]
[cannot apply to robh/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Peng-Fan-OSS/imx-add-i-MX8MP-hdmi-blk-ctrl-hdcp-hrv-and-vpu-blk-ctrl/20220722-205748
base: https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git for-next
config: arm-buildonly-randconfig-r004-20220722 (https://download.01.org/0day-ci/archive/20220723/[email protected]/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 72686d68c137551cce816416190a18d45b4d4e2a)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/intel-lab-lkp/linux/commit/9f38a755e912ffee8cd2b25002016da6e121f448
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Peng-Fan-OSS/imx-add-i-MX8MP-hdmi-blk-ctrl-hdcp-hrv-and-vpu-blk-ctrl/20220722-205748
git checkout 9f38a755e912ffee8cd2b25002016da6e121f448
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/soc/imx/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

All errors (new ones prefixed by >>):

>> drivers/soc/imx/imx8mp-blk-ctrl.c:375:4: error: field designator 'path_names' does not refer to any field in type 'const struct imx8mp_blk_ctrl_domain_data'
.path_names = (const char *[]){"hrv"},
^
>> drivers/soc/imx/imx8mp-blk-ctrl.c:376:4: error: field designator 'num_paths' does not refer to any field in type 'const struct imx8mp_blk_ctrl_domain_data'
.num_paths = 1,
^
drivers/soc/imx/imx8mp-blk-ctrl.c:383:4: error: field designator 'path_names' does not refer to any field in type 'const struct imx8mp_blk_ctrl_domain_data'
.path_names = (const char *[]){"hdcp"},
^
drivers/soc/imx/imx8mp-blk-ctrl.c:384:4: error: field designator 'num_paths' does not refer to any field in type 'const struct imx8mp_blk_ctrl_domain_data'
.num_paths = 1,
^
>> drivers/soc/imx/imx8mp-blk-ctrl.c:394:17: error: invalid application of 'sizeof' to an incomplete type 'const struct imx8mp_blk_ctrl_domain_data[]'
.num_domains = ARRAY_SIZE(imx8mp_hdmi_domain_data),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:55:32: note: expanded from macro 'ARRAY_SIZE'
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
^~~~~
5 errors generated.


vim +375 drivers/soc/imx/imx8mp-blk-ctrl.c

326
327 static const struct imx8mp_blk_ctrl_domain_data imx8mp_hdmi_domain_data[] = {
328 [IMX8MP_HDMIBLK_PD_IRQSTEER] = {
329 .name = "hdmiblk-irqsteer",
330 .clk_names = (const char *[]){ "apb" },
331 .num_clks = 1,
332 .gpc_name = "irqsteer",
333 },
334 [IMX8MP_HDMIBLK_PD_LCDIF] = {
335 .name = "hdmiblk-lcdif",
336 .clk_names = (const char *[]){ "axi", "apb" },
337 .num_clks = 2,
338 .gpc_name = "lcdif",
339 },
340 [IMX8MP_HDMIBLK_PD_PAI] = {
341 .name = "hdmiblk-pai",
342 .clk_names = (const char *[]){ "apb" },
343 .num_clks = 1,
344 .gpc_name = "pai",
345 },
346 [IMX8MP_HDMIBLK_PD_PVI] = {
347 .name = "hdmiblk-pvi",
348 .clk_names = (const char *[]){ "apb" },
349 .num_clks = 1,
350 .gpc_name = "pvi",
351 },
352 [IMX8MP_HDMIBLK_PD_TRNG] = {
353 .name = "hdmiblk-trng",
354 .clk_names = (const char *[]){ "apb" },
355 .num_clks = 1,
356 .gpc_name = "trng",
357 },
358 [IMX8MP_HDMIBLK_PD_HDMI_TX] = {
359 .name = "hdmiblk-hdmi-tx",
360 .clk_names = (const char *[]){ "apb", "ref_266m" },
361 .num_clks = 2,
362 .gpc_name = "hdmi-tx",
363 },
364 [IMX8MP_HDMIBLK_PD_HDMI_TX_PHY] = {
365 .name = "hdmiblk-hdmi-tx-phy",
366 .clk_names = (const char *[]){ "apb", "ref_24m" },
367 .num_clks = 2,
368 .gpc_name = "hdmi-tx-phy",
369 },
370 [IMX8MP_HDMIBLK_PD_HRV] = {
371 .name = "hdmiblk-hrv",
372 .clk_names = (const char *[]){ "axi", "apb" },
373 .num_clks = 2,
374 .gpc_name = "hrv",
> 375 .path_names = (const char *[]){"hrv"},
> 376 .num_paths = 1,
377 },
378 [IMX8MP_HDMIBLK_PD_HDCP] = {
379 .name = "hdmiblk-hdcp",
380 .clk_names = (const char *[]){ "axi", "apb" },
381 .num_clks = 2,
382 .gpc_name = "hdcp",
383 .path_names = (const char *[]){"hdcp"},
384 .num_paths = 1,
385 },
386 };
387
388 static const struct imx8mp_blk_ctrl_data imx8mp_hdmi_blk_ctl_dev_data = {
389 .max_reg = 0x23c,
390 .power_on = imx8mp_hdmi_blk_ctrl_power_on,
391 .power_off = imx8mp_hdmi_blk_ctrl_power_off,
392 .power_notifier_fn = imx8mp_hdmi_power_notifier,
393 .domains = imx8mp_hdmi_domain_data,
> 394 .num_domains = ARRAY_SIZE(imx8mp_hdmi_domain_data),
395 };
396

--
0-DAY CI Kernel Test Service
https://01.org/lkp

2022-07-22 18:23:52

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH V4 6/8] soc: imx: imx8m-blk-ctrl: add i.MX8MP VPU blk ctrl

Hi "Peng,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on shawnguo/for-next]
[also build test ERROR on linus/master v5.19-rc7 next-20220722]
[cannot apply to robh/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Peng-Fan-OSS/imx-add-i-MX8MP-hdmi-blk-ctrl-hdcp-hrv-and-vpu-blk-ctrl/20220722-205748
base: https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git for-next
config: arm-buildonly-randconfig-r004-20220722 (https://download.01.org/0day-ci/archive/20220723/[email protected]/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 72686d68c137551cce816416190a18d45b4d4e2a)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/intel-lab-lkp/linux/commit/69aa4b64765e9c0ed7990d68a5cf3f125fd16f91
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Peng-Fan-OSS/imx-add-i-MX8MP-hdmi-blk-ctrl-hdcp-hrv-and-vpu-blk-ctrl/20220722-205748
git checkout 69aa4b64765e9c0ed7990d68a5cf3f125fd16f91
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/soc/imx/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

All errors (new ones prefixed by >>):

>> drivers/soc/imx/imx8m-blk-ctrl.c:466:4: error: field designator 'path_names' does not refer to any field in type 'const struct imx8m_blk_ctrl_domain_data'
.path_names = (const char *[]){"g1"},
^
>> drivers/soc/imx/imx8m-blk-ctrl.c:467:4: error: field designator 'num_paths' does not refer to any field in type 'const struct imx8m_blk_ctrl_domain_data'
.num_paths = 1,
^
drivers/soc/imx/imx8m-blk-ctrl.c:476:4: error: field designator 'path_names' does not refer to any field in type 'const struct imx8m_blk_ctrl_domain_data'
.path_names = (const char *[]){"g2"},
^
drivers/soc/imx/imx8m-blk-ctrl.c:477:4: error: field designator 'num_paths' does not refer to any field in type 'const struct imx8m_blk_ctrl_domain_data'
.num_paths = 1,
^
drivers/soc/imx/imx8m-blk-ctrl.c:486:4: error: field designator 'path_names' does not refer to any field in type 'const struct imx8m_blk_ctrl_domain_data'
.path_names = (const char *[]){"vc8000e"},
^
drivers/soc/imx/imx8m-blk-ctrl.c:487:4: error: field designator 'num_paths' does not refer to any field in type 'const struct imx8m_blk_ctrl_domain_data'
.num_paths = 1,
^
>> drivers/soc/imx/imx8m-blk-ctrl.c:495:17: error: invalid application of 'sizeof' to an incomplete type 'const struct imx8m_blk_ctrl_domain_data[]'
.num_domains = ARRAY_SIZE(imx8mp_vpu_blk_ctl_domain_data),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:55:32: note: expanded from macro 'ARRAY_SIZE'
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
^~~~~
7 errors generated.


vim +466 drivers/soc/imx/imx8m-blk-ctrl.c

457
458 static const struct imx8m_blk_ctrl_domain_data imx8mp_vpu_blk_ctl_domain_data[] = {
459 [IMX8MP_VPUBLK_PD_G1] = {
460 .name = "vpublk-g1",
461 .clk_names = (const char *[]){ "g1", },
462 .num_clks = 1,
463 .gpc_name = "g1",
464 .rst_mask = BIT(1),
465 .clk_mask = BIT(1),
> 466 .path_names = (const char *[]){"g1"},
> 467 .num_paths = 1,
468 },
469 [IMX8MP_VPUBLK_PD_G2] = {
470 .name = "vpublk-g2",
471 .clk_names = (const char *[]){ "g2", },
472 .num_clks = 1,
473 .gpc_name = "g2",
474 .rst_mask = BIT(0),
475 .clk_mask = BIT(0),
476 .path_names = (const char *[]){"g2"},
477 .num_paths = 1,
478 },
479 [IMX8MP_VPUBLK_PD_VC8000E] = {
480 .name = "vpublk-vc8000e",
481 .clk_names = (const char *[]){ "vc8000e", },
482 .num_clks = 1,
483 .gpc_name = "vc8000e",
484 .rst_mask = BIT(2),
485 .clk_mask = BIT(2),
486 .path_names = (const char *[]){"vc8000e"},
487 .num_paths = 1,
488 },
489 };
490
491 static const struct imx8m_blk_ctrl_data imx8mp_vpu_blk_ctl_dev_data = {
492 .max_reg = 0x18,
493 .power_notifier_fn = imx8mm_vpu_power_notifier,
494 .domains = imx8mp_vpu_blk_ctl_domain_data,
> 495 .num_domains = ARRAY_SIZE(imx8mp_vpu_blk_ctl_domain_data),
496 };
497

--
0-DAY CI Kernel Test Service
https://01.org/lkp

2022-07-22 19:57:01

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH V4 8/8] arm64: dts: imx8mp: add VPU blk ctrl node

Hi "Peng,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on shawnguo/for-next]
[also build test ERROR on linus/master v5.19-rc7 next-20220722]
[cannot apply to robh/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Peng-Fan-OSS/imx-add-i-MX8MP-hdmi-blk-ctrl-hdcp-hrv-and-vpu-blk-ctrl/20220722-205748
base: https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git for-next
config: arm64-randconfig-r005-20220721 (https://download.01.org/0day-ci/archive/20220723/[email protected]/config)
compiler: aarch64-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/48de78c570ec370c4fe2dfd6d426fe665416eb21
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Peng-Fan-OSS/imx-add-i-MX8MP-hdmi-blk-ctrl-hdcp-hrv-and-vpu-blk-ctrl/20220722-205748
git checkout 48de78c570ec370c4fe2dfd6d426fe665416eb21
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

All errors (new ones prefixed by >>):

>> Error: arch/arm64/boot/dts/freescale/imx8mp.dtsi:1181.26-27 syntax error
FATAL ERROR: Unable to parse input tree

--
0-DAY CI Kernel Test Service
https://01.org/lkp

2022-07-23 20:48:57

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH V4 3/8] dt-bindings: soc: imx: add interconnect property for i.MX8MM vpu blk ctrl

On 22/07/2022 14:57, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> i.MX8MM VPU support NoC QoS setting, so add interconnect property
> for i.MX8MM VPU blk ctrl


Reviewed-by: Krzysztof Kozlowski <[email protected]>


Best regards,
Krzysztof

2022-07-25 09:07:19

by Peng Fan

[permalink] [raw]
Subject: RE: [PATCH V4 5/8] soc: imx: add i.MX8MP HDMI blk ctrl HDCP/HRV

> Subject: Re: [PATCH V4 5/8] soc: imx: add i.MX8MP HDMI blk ctrl HDCP/HRV
>
> Hi,
>
> On 22-07-22, Peng Fan (OSS) wrote:
> > From: Peng Fan <[email protected]>
> >
> > i.MX8MP HDMI supports HDCP and HRV, so add them.
>
> Out of curiosity what is this HRV? Is it a HDMI receive block? The reference
> manual has only a few references to a few bits but says nothing about this
> block.

Loop Sandor to help on this.

Regards,
Peng.
>
> Regards,
> Marco

2022-07-25 09:10:34

by Marco Felsch

[permalink] [raw]
Subject: Re: [PATCH V4 5/8] soc: imx: add i.MX8MP HDMI blk ctrl HDCP/HRV

Hi,

On 22-07-22, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> i.MX8MP HDMI supports HDCP and HRV, so add them.

Out of curiosity what is this HRV? Is it a HDMI receive block? The
reference manual has only a few references to a few bits but says
nothing about this block.

Regards,
Marco

2022-08-09 02:16:05

by Peng Fan (OSS)

[permalink] [raw]
Subject: Re: [PATCH V4 0/8] imx: add i.MX8MP hdmi blk ctrl hdcp/hrv and vpu blk ctrl

Hi Shawn,

Ping..

Thanks,
Peng.

On 7/22/2022 8:57 PM, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> V4:
> Add R-b for patch 2
> Add a new patch 3 to introduce interconnect property for i.MX8MM VPU blk ctrl,
> same to other properties, i.MX8MM/P could use their own names in patch 4
>
> V3:
> Per DT maitainer, add a new patch to clean up minItems, see patch 2
>
> V2:
> - Add A-b from DT maintainer for patch 1
> - Per DT maintainer, I added description for items. To
> make it consistent, I also added description to i.MX8MM.
> - Per Adam, change VPU H1/h1 to VC8000E/vc8000e in the patchset.
>
> This patchset is to add more blk ctrl support for i.MX8MP
> - Add HDMI HDCP/HRV BLK CTRL support
> - Add VPU BLK CTRL support
> - Add PGC VPU node which supplies power domain for VPU BLK
> This patchset is based on:
> https://lore.kernel.org/all/[email protected]/
>
> repo: https://github.com/MrVan/linux/tree/imx8mp-blk-ctrl
>
> Peng Fan (8):
> dt-bindings: power: imx8mp-power: add HDMI HDCP/HRV
> dt-bindings: soc: imx: drop minItems for i.MX8MM vpu blk ctrl
> dt-bindings: soc: imx: add interconnect property for i.MX8MM vpu blk
> ctrl
> dt-bindings: soc: imx: add i.MX8MP vpu blk ctrl
> soc: imx: add i.MX8MP HDMI blk ctrl HDCP/HRV
> soc: imx: imx8m-blk-ctrl: add i.MX8MP VPU blk ctrl
> arm64: dts: imx8mp: add vpu pgc nodes
> arm64: dts: imx8mp: add VPU blk ctrl node
>
> .../soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml | 110 ++++++++++++++++--
> arch/arm64/boot/dts/freescale/imx8mp.dtsi | 45 +++++++
> drivers/soc/imx/imx8m-blk-ctrl.c | 43 +++++++
> drivers/soc/imx/imx8mp-blk-ctrl.c | 30 +++++
> include/dt-bindings/power/imx8mp-power.h | 6 +
> 5 files changed, 223 insertions(+), 11 deletions(-)
>

2022-08-21 07:55:49

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH V4 0/8] imx: add i.MX8MP hdmi blk ctrl hdcp/hrv and vpu blk ctrl

On Tue, Aug 09, 2022 at 09:35:17AM +0800, Peng Fan wrote:
> Hi Shawn,
>
> Ping..

I think Marco is requesting some information about HRV?

Shawn

2022-08-21 07:57:39

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH V4 8/8] arm64: dts: imx8mp: add VPU blk ctrl node

On Fri, Jul 22, 2022 at 08:57:30PM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> Add i.MX8MP VPU blk ctrl node
>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> arch/arm64/boot/dts/freescale/imx8mp.dtsi | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> index 34af983b0210..493fc3ceec1f 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> @@ -1185,6 +1185,24 @@ gic: interrupt-controller@38800000 {
> interrupt-parent = <&gic>;
> };
>
> + vpumix_blk_ctrl: blk-ctrl@38330000 {

Please add it in order of unit-address.

Shawn

> + compatible = "fsl,imx8mp-vpu-blk-ctrl", "syscon";
> + reg = <0x38330000 0x100>;
> + #power-domain-cells = <1>;
> + power-domains = <&pgc_vpumix>, <&pgc_vpu_g1>,
> + <&pgc_vpu_g2>, <&pgc_vpu_vc8000e>;
> + power-domain-names = "bus", "g1", "g2", "vc8000e";
> + clocks = <&clk IMX8MP_CLK_VPU_G1_ROOT>,
> + <&clk IMX8MP_CLK_VPU_G2_ROOT>,
> + <&clk IMX8MP_CLK_VPU_VC8KE_ROOT>;
> + clock-names = "g1", "g2", "vc8000e";
> + interconnects = <&noc IMX8MP_ICM_VPU_G1 &noc IMX8MP_ICN_VIDEO>,
> + <&noc IMX8MP_ICM_VPU_G2 &noc IMX8MP_ICN_VIDEO>,
> + <&noc IMX8MP_ICM_VPU_H1 &noc IMX8MP_ICN_VIDEO>;
> + interconnect-names = "g1", "g2", "vc8000e";
> + };
> +
> +
> edacmc: memory-controller@3d400000 {
> compatible = "snps,ddrc-3.80a";
> reg = <0x3d400000 0x400000>;
> --
> 2.25.1
>

2022-08-22 03:41:39

by Peng Fan

[permalink] [raw]
Subject: RE: [PATCH V4 0/8] imx: add i.MX8MP hdmi blk ctrl hdcp/hrv and vpu blk ctrl

> Subject: Re: [PATCH V4 0/8] imx: add i.MX8MP hdmi blk ctrl hdcp/hrv and
> vpu blk ctrl
>
> On Tue, Aug 09, 2022 at 09:35:17AM +0800, Peng Fan wrote:
> > Hi Shawn,
> >
> > Ping..
>
> I think Marco is requesting some information about HRV?

I just added what listed in hdmi blk ctrl. About what HRV is and for,
I could add a bit simple information in commit log in V5, for detailed
info, HDMI(HRV) should have that.

Thanks,
Peng.
>
> Shawn