* [PATCH 0/7] drm: Extend COMPILE_TEST support to some ARM drivers
@ 2021-07-28 15:37 Laurent Pinchart
2021-07-28 15:37 ` [PATCH 1/7] drm/omap: Cast pointer to integer safely Laurent Pinchart
` (8 more replies)
0 siblings, 9 replies; 16+ messages in thread
From: Laurent Pinchart @ 2021-07-28 15:37 UTC (permalink / raw)
To: dri-devel
Cc: linux-renesas-soc, linux-tegra, Laurentiu Palcu, Lucas Stach,
Philipp Zabel, Shawn Guo, Sascha Hauer, Fabio Estevam, linux-imx,
Tomi Valkeinen, Thierry Reding, Jonathan Hunter, Jyri Sarha
Hello,
This patch series stems from subsystem-wide changes I wanted to
compile-test with an ARM64 cross-compiler. My laziness to fire a 32-bit
ARM build probably resulted in more time being spent writing these
patches, but hopefully they'll turn out to be useful for more people :-)
Patches 1/7 and 2/7 are fixes for compilation warnings on 64-bit
platforms in the omapdrm and sti-drm drivers. They are a dependency for
the Kconfig changes that follow to avoid introducing build warnings, but
could also be merged before.
Patches 3/7 to 7/7 enable compilation of the imx-dcss, omapdrm, sti-drm,
tegra-drm and tilcdc drivers on ARM64 with COMPILE_TEST. The patches are
independent from each other, so they can be picked by their respective
maintainers.
We could also extend test compilation to more architecture, but I didn't
want to remove all dependencies on ARM or ARM64 at this point for fear
or triggering build warnings that I wouldn't be able to catch locally.
If there's a consensus that fully relaxing the platform requirement is
better, I can submit a new version that does so and rely on the 0day bot
to catch issues.
Laurent Pinchart (7):
drm/omap: Cast pointer to integer safely
drm/sti: Use correct printk format specifiers for size_t
drm/imx/dcss: Enable COMPILE_TEST on all ARM64 platforms
drm/omap: Enable COMPILE_TEST on all ARM and ARM64 platforms
drm/sti: Enable COMPILE_TEST on all ARM and ARM64 platforms
drm/tegra: Enable COMPILE_TEST on all ARM64 platforms
drm/tilcdc: Enable COMPILE_TEST on all ARM64 platforms
drivers/gpu/drm/imx/dcss/Kconfig | 3 ++-
drivers/gpu/drm/omapdrm/Kconfig | 2 +-
drivers/gpu/drm/omapdrm/omap_drv.c | 2 +-
drivers/gpu/drm/sti/Kconfig | 3 ++-
drivers/gpu/drm/sti/sti_hqvdp.c | 4 ++--
drivers/gpu/drm/tegra/Kconfig | 2 +-
drivers/gpu/drm/tilcdc/Kconfig | 3 ++-
drivers/gpu/host1x/Kconfig | 2 +-
8 files changed, 12 insertions(+), 9 deletions(-)
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/7] drm/omap: Cast pointer to integer safely
2021-07-28 15:37 [PATCH 0/7] drm: Extend COMPILE_TEST support to some ARM drivers Laurent Pinchart
@ 2021-07-28 15:37 ` Laurent Pinchart
2021-07-29 6:13 ` Tomi Valkeinen
2021-07-28 15:37 ` [PATCH 2/7] drm/sti: Use correct printk format specifiers for size_t Laurent Pinchart
` (7 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Laurent Pinchart @ 2021-07-28 15:37 UTC (permalink / raw)
To: dri-devel
Cc: linux-renesas-soc, linux-tegra, Laurentiu Palcu, Lucas Stach,
Philipp Zabel, Shawn Guo, Sascha Hauer, Fabio Estevam, linux-imx,
Tomi Valkeinen, Thierry Reding, Jonathan Hunter, Jyri Sarha
On 64-bit platforms, the compiler complains that casting a void pointer
to an unsigned int loses data. Cast the pointer to a uintptr_t unsigned
to fix this.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
drivers/gpu/drm/omapdrm/omap_drv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
index f86e20578143..c05d3975cb31 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.c
+++ b/drivers/gpu/drm/omapdrm/omap_drv.c
@@ -572,7 +572,7 @@ static int omapdrm_init(struct omap_drm_private *priv, struct device *dev)
priv->dss->mgr_ops_priv = priv;
soc = soc_device_match(omapdrm_soc_devices);
- priv->omaprev = soc ? (unsigned int)soc->data : 0;
+ priv->omaprev = soc ? (uintptr_t)soc->data : 0;
priv->wq = alloc_ordered_workqueue("omapdrm", 0);
mutex_init(&priv->list_lock);
--
Regards,
Laurent Pinchart
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/7] drm/sti: Use correct printk format specifiers for size_t
2021-07-28 15:37 [PATCH 0/7] drm: Extend COMPILE_TEST support to some ARM drivers Laurent Pinchart
2021-07-28 15:37 ` [PATCH 1/7] drm/omap: Cast pointer to integer safely Laurent Pinchart
@ 2021-07-28 15:37 ` Laurent Pinchart
2021-07-30 9:35 ` Philippe CORNU
2021-07-28 15:37 ` [PATCH 3/7] drm/imx/dcss: Enable COMPILE_TEST on all ARM64 platforms Laurent Pinchart
` (6 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Laurent Pinchart @ 2021-07-28 15:37 UTC (permalink / raw)
To: dri-devel
Cc: linux-renesas-soc, linux-tegra, Laurentiu Palcu, Lucas Stach,
Philipp Zabel, Shawn Guo, Sascha Hauer, Fabio Estevam, linux-imx,
Tomi Valkeinen, Thierry Reding, Jonathan Hunter, Jyri Sarha
The correct format specifier for size_t is %zu. Using %d (or %u)
generates a warning on 64-bit platforms. Fix it.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
drivers/gpu/drm/sti/sti_hqvdp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c
index d09b08995b12..3c61ba8b43e0 100644
--- a/drivers/gpu/drm/sti/sti_hqvdp.c
+++ b/drivers/gpu/drm/sti/sti_hqvdp.c
@@ -927,12 +927,12 @@ static void sti_hqvdp_start_xp70(struct sti_hqvdp *hqvdp)
header = (struct fw_header *)firmware->data;
if (firmware->size < sizeof(*header)) {
- DRM_ERROR("Invalid firmware size (%d)\n", firmware->size);
+ DRM_ERROR("Invalid firmware size (%zu)\n", firmware->size);
goto out;
}
if ((sizeof(*header) + header->rd_size + header->wr_size +
header->pmem_size + header->dmem_size) != firmware->size) {
- DRM_ERROR("Invalid fmw structure (%d+%d+%d+%d+%d != %d)\n",
+ DRM_ERROR("Invalid fmw structure (%zu+%d+%d+%d+%d != %zu)\n",
sizeof(*header), header->rd_size, header->wr_size,
header->pmem_size, header->dmem_size,
firmware->size);
--
Regards,
Laurent Pinchart
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 3/7] drm/imx/dcss: Enable COMPILE_TEST on all ARM64 platforms
2021-07-28 15:37 [PATCH 0/7] drm: Extend COMPILE_TEST support to some ARM drivers Laurent Pinchart
2021-07-28 15:37 ` [PATCH 1/7] drm/omap: Cast pointer to integer safely Laurent Pinchart
2021-07-28 15:37 ` [PATCH 2/7] drm/sti: Use correct printk format specifiers for size_t Laurent Pinchart
@ 2021-07-28 15:37 ` Laurent Pinchart
2021-07-30 12:10 ` Geert Uytterhoeven
2021-07-28 15:37 ` [PATCH 4/7] drm/omap: Enable COMPILE_TEST on all ARM and " Laurent Pinchart
` (5 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Laurent Pinchart @ 2021-07-28 15:37 UTC (permalink / raw)
To: dri-devel
Cc: linux-renesas-soc, linux-tegra, Laurentiu Palcu, Lucas Stach,
Philipp Zabel, Shawn Guo, Sascha Hauer, Fabio Estevam, linux-imx,
Tomi Valkeinen, Thierry Reding, Jonathan Hunter, Jyri Sarha
To extend test coverage, relax the dependency on ARCH_MXC to also enable
compilation when COMPILE_TEST is selected.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
drivers/gpu/drm/imx/dcss/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/imx/dcss/Kconfig b/drivers/gpu/drm/imx/dcss/Kconfig
index 2b17a964ff05..ad9844fb85ac 100644
--- a/drivers/gpu/drm/imx/dcss/Kconfig
+++ b/drivers/gpu/drm/imx/dcss/Kconfig
@@ -3,7 +3,8 @@ config DRM_IMX_DCSS
select IMX_IRQSTEER
select DRM_KMS_CMA_HELPER
select VIDEOMODE_HELPERS
- depends on DRM && ARCH_MXC && ARM64
+ depends on DRM
+ depends on ARM64 && (ARCH_MXC || COMPILE_TEST)
help
Choose this if you have a NXP i.MX8MQ based system and want to use the
Display Controller Subsystem. This option enables DCSS support.
--
Regards,
Laurent Pinchart
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 4/7] drm/omap: Enable COMPILE_TEST on all ARM and ARM64 platforms
2021-07-28 15:37 [PATCH 0/7] drm: Extend COMPILE_TEST support to some ARM drivers Laurent Pinchart
` (2 preceding siblings ...)
2021-07-28 15:37 ` [PATCH 3/7] drm/imx/dcss: Enable COMPILE_TEST on all ARM64 platforms Laurent Pinchart
@ 2021-07-28 15:37 ` Laurent Pinchart
2021-07-28 15:37 ` [PATCH 5/7] drm/sti: " Laurent Pinchart
` (4 subsequent siblings)
8 siblings, 0 replies; 16+ messages in thread
From: Laurent Pinchart @ 2021-07-28 15:37 UTC (permalink / raw)
To: dri-devel
Cc: linux-renesas-soc, linux-tegra, Laurentiu Palcu, Lucas Stach,
Philipp Zabel, Shawn Guo, Sascha Hauer, Fabio Estevam, linux-imx,
Tomi Valkeinen, Thierry Reding, Jonathan Hunter, Jyri Sarha
To extend test coverage, relax the dependency on ARCH_OMAP2PLUS or
ARCH_MULTIPLATFORM to also enable compilation on ARM or ARM4 when
COMPILE_TEST is selected.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
drivers/gpu/drm/omapdrm/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/omapdrm/Kconfig b/drivers/gpu/drm/omapdrm/Kconfig
index e7281da5bc6a..fd5ef00444c1 100644
--- a/drivers/gpu/drm/omapdrm/Kconfig
+++ b/drivers/gpu/drm/omapdrm/Kconfig
@@ -2,7 +2,7 @@
config DRM_OMAP
tristate "OMAP DRM"
depends on DRM
- depends on ARCH_OMAP2PLUS || ARCH_MULTIPLATFORM
+ depends on ARCH_OMAP2PLUS || ARCH_MULTIPLATFORM || ((ARM || ARM64) && COMPILE_TEST)
select OMAP2_DSS
select DRM_KMS_HELPER
select VIDEOMODE_HELPERS
--
Regards,
Laurent Pinchart
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 5/7] drm/sti: Enable COMPILE_TEST on all ARM and ARM64 platforms
2021-07-28 15:37 [PATCH 0/7] drm: Extend COMPILE_TEST support to some ARM drivers Laurent Pinchart
` (3 preceding siblings ...)
2021-07-28 15:37 ` [PATCH 4/7] drm/omap: Enable COMPILE_TEST on all ARM and " Laurent Pinchart
@ 2021-07-28 15:37 ` Laurent Pinchart
2021-07-30 9:39 ` Philippe CORNU
2021-07-28 15:37 ` [PATCH 6/7] drm/tegra: Enable COMPILE_TEST on all " Laurent Pinchart
` (3 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Laurent Pinchart @ 2021-07-28 15:37 UTC (permalink / raw)
To: dri-devel
Cc: linux-renesas-soc, linux-tegra, Laurentiu Palcu, Lucas Stach,
Philipp Zabel, Shawn Guo, Sascha Hauer, Fabio Estevam, linux-imx,
Tomi Valkeinen, Thierry Reding, Jonathan Hunter, Jyri Sarha
To extend test coverage, relax the dependency on ARCH_STI or
ARCH_MULTIPLATFORM to also enable compilation on ARM or ARM4 when
COMPILE_TEST is selected.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
drivers/gpu/drm/sti/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/sti/Kconfig b/drivers/gpu/drm/sti/Kconfig
index d0cfdd36b38f..e7d18893bc11 100644
--- a/drivers/gpu/drm/sti/Kconfig
+++ b/drivers/gpu/drm/sti/Kconfig
@@ -1,7 +1,8 @@
# SPDX-License-Identifier: GPL-2.0-only
config DRM_STI
tristate "DRM Support for STMicroelectronics SoC stiH4xx Series"
- depends on OF && DRM && (ARCH_STI || ARCH_MULTIPLATFORM)
+ depends on OF && DRM
+ depends on ARCH_STI || ARCH_MULTIPLATFORM || ((ARM || ARM64) && COMPILE_TEST)
select RESET_CONTROLLER
select DRM_KMS_HELPER
select DRM_GEM_CMA_HELPER
--
Regards,
Laurent Pinchart
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 6/7] drm/tegra: Enable COMPILE_TEST on all ARM64 platforms
2021-07-28 15:37 [PATCH 0/7] drm: Extend COMPILE_TEST support to some ARM drivers Laurent Pinchart
` (4 preceding siblings ...)
2021-07-28 15:37 ` [PATCH 5/7] drm/sti: " Laurent Pinchart
@ 2021-07-28 15:37 ` Laurent Pinchart
2021-07-28 15:37 ` [PATCH 7/7] drm/tilcdc: " Laurent Pinchart
` (2 subsequent siblings)
8 siblings, 0 replies; 16+ messages in thread
From: Laurent Pinchart @ 2021-07-28 15:37 UTC (permalink / raw)
To: dri-devel
Cc: linux-renesas-soc, linux-tegra, Laurentiu Palcu, Lucas Stach,
Philipp Zabel, Shawn Guo, Sascha Hauer, Fabio Estevam, linux-imx,
Tomi Valkeinen, Thierry Reding, Jonathan Hunter, Jyri Sarha
To extend test coverage, support COMPILE_TEST on ARM64 in addition to
ARM.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
drivers/gpu/drm/tegra/Kconfig | 2 +-
drivers/gpu/host1x/Kconfig | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/tegra/Kconfig b/drivers/gpu/drm/tegra/Kconfig
index 5043dcaf1cf9..ab3093fdbfa8 100644
--- a/drivers/gpu/drm/tegra/Kconfig
+++ b/drivers/gpu/drm/tegra/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config DRM_TEGRA
tristate "NVIDIA Tegra DRM"
- depends on ARCH_TEGRA || (ARM && COMPILE_TEST)
+ depends on ARCH_TEGRA || ((ARM || ARM64) && COMPILE_TEST)
depends on COMMON_CLK
depends on DRM
depends on OF
diff --git a/drivers/gpu/host1x/Kconfig b/drivers/gpu/host1x/Kconfig
index 6dab94adf25e..c3a8521c8068 100644
--- a/drivers/gpu/host1x/Kconfig
+++ b/drivers/gpu/host1x/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config TEGRA_HOST1X
tristate "NVIDIA Tegra host1x driver"
- depends on ARCH_TEGRA || (ARM && COMPILE_TEST)
+ depends on ARCH_TEGRA || ((ARM || ARM64) && COMPILE_TEST)
select IOMMU_IOVA
help
Driver for the NVIDIA Tegra host1x hardware.
--
Regards,
Laurent Pinchart
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 7/7] drm/tilcdc: Enable COMPILE_TEST on all ARM64 platforms
2021-07-28 15:37 [PATCH 0/7] drm: Extend COMPILE_TEST support to some ARM drivers Laurent Pinchart
` (5 preceding siblings ...)
2021-07-28 15:37 ` [PATCH 6/7] drm/tegra: Enable COMPILE_TEST on all " Laurent Pinchart
@ 2021-07-28 15:37 ` Laurent Pinchart
2021-07-29 6:19 ` [PATCH 0/7] drm: Extend COMPILE_TEST support to some ARM drivers Tomi Valkeinen
[not found] ` <YQLdDTu4duXXQXAs@ravnborg.org>
8 siblings, 0 replies; 16+ messages in thread
From: Laurent Pinchart @ 2021-07-28 15:37 UTC (permalink / raw)
To: dri-devel
Cc: linux-renesas-soc, linux-tegra, Laurentiu Palcu, Lucas Stach,
Philipp Zabel, Shawn Guo, Sascha Hauer, Fabio Estevam, linux-imx,
Tomi Valkeinen, Thierry Reding, Jonathan Hunter, Jyri Sarha
To extend test coverage, support COMPILE_TEST on ARM64 in addition to
ARM.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
drivers/gpu/drm/tilcdc/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/tilcdc/Kconfig b/drivers/gpu/drm/tilcdc/Kconfig
index 9f505a149990..37009f4ace9f 100644
--- a/drivers/gpu/drm/tilcdc/Kconfig
+++ b/drivers/gpu/drm/tilcdc/Kconfig
@@ -1,7 +1,8 @@
# SPDX-License-Identifier: GPL-2.0-only
config DRM_TILCDC
tristate "DRM Support for TI LCDC Display Controller"
- depends on DRM && OF && ARM
+ depends on DRM && OF
+ depends on ARM || (ARM64 && COMPILE_TEST)
select DRM_KMS_HELPER
select DRM_KMS_CMA_HELPER
select DRM_GEM_CMA_HELPER
--
Regards,
Laurent Pinchart
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 1/7] drm/omap: Cast pointer to integer safely
2021-07-28 15:37 ` [PATCH 1/7] drm/omap: Cast pointer to integer safely Laurent Pinchart
@ 2021-07-29 6:13 ` Tomi Valkeinen
2021-07-31 0:25 ` Laurent Pinchart
0 siblings, 1 reply; 16+ messages in thread
From: Tomi Valkeinen @ 2021-07-29 6:13 UTC (permalink / raw)
To: Laurent Pinchart, dri-devel
Cc: linux-renesas-soc, linux-tegra, Laurentiu Palcu, Lucas Stach,
Philipp Zabel, Shawn Guo, Sascha Hauer, Fabio Estevam, linux-imx,
Thierry Reding, Jonathan Hunter, Jyri Sarha
On 28/07/2021 18:37, Laurent Pinchart wrote:
> On 64-bit platforms, the compiler complains that casting a void pointer
> to an unsigned int loses data. Cast the pointer to a uintptr_t unsigned
> to fix this.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> ---
> drivers/gpu/drm/omapdrm/omap_drv.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
> index f86e20578143..c05d3975cb31 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.c
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
> @@ -572,7 +572,7 @@ static int omapdrm_init(struct omap_drm_private *priv, struct device *dev)
> priv->dss->mgr_ops_priv = priv;
>
> soc = soc_device_match(omapdrm_soc_devices);
> - priv->omaprev = soc ? (unsigned int)soc->data : 0;
> + priv->omaprev = soc ? (uintptr_t)soc->data : 0;
> priv->wq = alloc_ordered_workqueue("omapdrm", 0);
>
> mutex_init(&priv->list_lock);
>
Looks fine, although the subject sounds odd. Why was the cast "unsafe" before, and "safe" now?
There's also another bunch of warnings I see:
drivers/gpu/drm/omapdrm/dss/dsi.c: In function ‘dsi_vc_send_long’:
drivers/gpu/drm/omapdrm/dss/dsi.c:7:25: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t’ {aka ‘const long unsigned int’} [-Wformat=]
7 | #define DSS_SUBSYS_NAME "DSI"
| ^~~~~
drivers/gpu/drm/omapdrm/dss/dss.h:30:21: note: in expansion of macro ‘DSS_SUBSYS_NAME’
30 | #define pr_fmt(fmt) DSS_SUBSYS_NAME ": " fmt
| ^~~~~~~~~~~~~~~
./include/linux/dynamic_debug.h:134:15: note: in expansion of macro ‘pr_fmt’
134 | func(&id, ##__VA_ARGS__); \
| ^~~~~~~~~~~
./include/linux/dynamic_debug.h:152:2: note: in expansion of macro ‘__dynamic_func_call’
152 | __dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~~~~~
./include/linux/dynamic_debug.h:162:2: note: in expansion of macro ‘_dynamic_func_call’
162 | _dynamic_func_call(fmt, __dynamic_pr_debug, \
| ^~~~~~~~~~~~~~~~~~
./include/linux/printk.h:471:2: note: in expansion of macro ‘dynamic_pr_debug’
471 | dynamic_pr_debug(fmt, ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dss.h:36:2: note: in expansion of macro ‘pr_debug’
36 | pr_debug(format, ## __VA_ARGS__)
| ^~~~~~~~
drivers/gpu/drm/omapdrm/dss/dsi.c:2097:3: note: in expansion of macro ‘DSSDBG’
2097 | DSSDBG("dsi_vc_send_long, %d bytes\n", msg->tx_len);
| ^~~~~~
In file included from ./include/linux/printk.h:7,
from ./include/linux/kernel.h:19,
from drivers/gpu/drm/omapdrm/dss/dsi.c:9:
drivers/gpu/drm/omapdrm/dss/dsi.c: In function ‘dsi_vc_generic_read’:
./include/linux/kern_levels.h:5:18: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ {aka ‘const long unsigned int’} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
./include/linux/kern_levels.h:11:18: note: in expansion of macro ‘KERN_SOH’
11 | #define KERN_ERR KERN_SOH "3" /* error conditions */
| ^~~~~~~~
./include/linux/printk.h:390:9: note: in expansion of macro ‘KERN_ERR’
390 | printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~
drivers/gpu/drm/omapdrm/dss/dss.h:40:2: note: in expansion of macro ‘pr_err’
40 | pr_err("omapdss " DSS_SUBSYS_NAME " error: " format, ##__VA_ARGS__)
| ^~~~~~
drivers/gpu/drm/omapdrm/dss/dsi.c:2393:2: note: in expansion of macro ‘DSSERR’
2393 | DSSERR("%s(vc %d, reqlen %d) failed\n", __func__, vc, msg->tx_len);
| ^~~~~~
Tomi
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 0/7] drm: Extend COMPILE_TEST support to some ARM drivers
2021-07-28 15:37 [PATCH 0/7] drm: Extend COMPILE_TEST support to some ARM drivers Laurent Pinchart
` (6 preceding siblings ...)
2021-07-28 15:37 ` [PATCH 7/7] drm/tilcdc: " Laurent Pinchart
@ 2021-07-29 6:19 ` Tomi Valkeinen
[not found] ` <YQLdDTu4duXXQXAs@ravnborg.org>
8 siblings, 0 replies; 16+ messages in thread
From: Tomi Valkeinen @ 2021-07-29 6:19 UTC (permalink / raw)
To: Laurent Pinchart, dri-devel
Cc: linux-renesas-soc, linux-tegra, Laurentiu Palcu, Lucas Stach,
Philipp Zabel, Shawn Guo, Sascha Hauer, Fabio Estevam, linux-imx,
Thierry Reding, Jonathan Hunter, Jyri Sarha
On 28/07/2021 18:37, Laurent Pinchart wrote:
> Hello,
>
> This patch series stems from subsystem-wide changes I wanted to
> compile-test with an ARM64 cross-compiler. My laziness to fire a 32-bit
> ARM build probably resulted in more time being spent writing these
> patches, but hopefully they'll turn out to be useful for more people :-)
>
> Patches 1/7 and 2/7 are fixes for compilation warnings on 64-bit
> platforms in the omapdrm and sti-drm drivers. They are a dependency for
> the Kconfig changes that follow to avoid introducing build warnings, but
> could also be merged before.
>
> Patches 3/7 to 7/7 enable compilation of the imx-dcss, omapdrm, sti-drm,
> tegra-drm and tilcdc drivers on ARM64 with COMPILE_TEST. The patches are
> independent from each other, so they can be picked by their respective
> maintainers.
>
> We could also extend test compilation to more architecture, but I didn't
> want to remove all dependencies on ARM or ARM64 at this point for fear
> or triggering build warnings that I wouldn't be able to catch locally.
> If there's a consensus that fully relaxing the platform requirement is
> better, I can submit a new version that does so and rely on the 0day bot
> to catch issues.
I would allow compilation for any architecture if COMPILE_TEST is
enabled. I think git grep shows that is how COMPILE_TEST is usually used.
Tomi
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/7] drm/sti: Use correct printk format specifiers for size_t
2021-07-28 15:37 ` [PATCH 2/7] drm/sti: Use correct printk format specifiers for size_t Laurent Pinchart
@ 2021-07-30 9:35 ` Philippe CORNU
0 siblings, 0 replies; 16+ messages in thread
From: Philippe CORNU @ 2021-07-30 9:35 UTC (permalink / raw)
To: Laurent Pinchart, dri-devel, Alain VOLMAT-SCND-01, Benjamin Gaignard
Cc: Tomi Valkeinen, Sascha Hauer, Jyri Sarha, Jonathan Hunter,
linux-renesas-soc, Thierry Reding, linux-imx, Laurentiu Palcu,
linux-tegra, Shawn Guo
On 7/28/21 5:37 PM, Laurent Pinchart wrote:
> The correct format specifier for size_t is %zu. Using %d (or %u)
> generates a warning on 64-bit platforms. Fix it.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> ---
> drivers/gpu/drm/sti/sti_hqvdp.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c
> index d09b08995b12..3c61ba8b43e0 100644
> --- a/drivers/gpu/drm/sti/sti_hqvdp.c
> +++ b/drivers/gpu/drm/sti/sti_hqvdp.c
> @@ -927,12 +927,12 @@ static void sti_hqvdp_start_xp70(struct sti_hqvdp *hqvdp)
>
> header = (struct fw_header *)firmware->data;
> if (firmware->size < sizeof(*header)) {
> - DRM_ERROR("Invalid firmware size (%d)\n", firmware->size);
> + DRM_ERROR("Invalid firmware size (%zu)\n", firmware->size);
> goto out;
> }
> if ((sizeof(*header) + header->rd_size + header->wr_size +
> header->pmem_size + header->dmem_size) != firmware->size) {
> - DRM_ERROR("Invalid fmw structure (%d+%d+%d+%d+%d != %d)\n",
> + DRM_ERROR("Invalid fmw structure (%zu+%d+%d+%d+%d != %zu)\n",
Hi Laurent,
Looping Benjamin (new email address) and Alain (future maintainer of
drm/sti).
Reviewed-by: Philippe Cornu <philippe.cornu@foss.st.com>
Many thanks for your patch,
Philippe :-)
> sizeof(*header), header->rd_size, header->wr_size,
> header->pmem_size, header->dmem_size,
> firmware->size);
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 5/7] drm/sti: Enable COMPILE_TEST on all ARM and ARM64 platforms
2021-07-28 15:37 ` [PATCH 5/7] drm/sti: " Laurent Pinchart
@ 2021-07-30 9:39 ` Philippe CORNU
0 siblings, 0 replies; 16+ messages in thread
From: Philippe CORNU @ 2021-07-30 9:39 UTC (permalink / raw)
To: Laurent Pinchart, dri-devel, Alain VOLMAT-SCND-01, Benjamin Gaignard
Cc: Tomi Valkeinen, Sascha Hauer, Jyri Sarha, Jonathan Hunter,
linux-renesas-soc, Thierry Reding, linux-imx, Laurentiu Palcu,
linux-tegra, Shawn Guo
On 7/28/21 5:37 PM, Laurent Pinchart wrote:
> To extend test coverage, relax the dependency on ARCH_STI or
> ARCH_MULTIPLATFORM to also enable compilation on ARM or ARM4 when
Hi Laurent,
Looping Benjamin (new email address) and Alain (future maintainer of
drm/sti).
minor typo (ARM4 -> ARM64)
Reviewed-by: Philippe Cornu <philippe.cornu@foss.st.com>
Many thanks for your patch,
Philippe :-)
> COMPILE_TEST is selected.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> ---
> drivers/gpu/drm/sti/Kconfig | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/sti/Kconfig b/drivers/gpu/drm/sti/Kconfig
> index d0cfdd36b38f..e7d18893bc11 100644
> --- a/drivers/gpu/drm/sti/Kconfig
> +++ b/drivers/gpu/drm/sti/Kconfig
> @@ -1,7 +1,8 @@
> # SPDX-License-Identifier: GPL-2.0-only
> config DRM_STI
> tristate "DRM Support for STMicroelectronics SoC stiH4xx Series"
> - depends on OF && DRM && (ARCH_STI || ARCH_MULTIPLATFORM)
> + depends on OF && DRM
> + depends on ARCH_STI || ARCH_MULTIPLATFORM || ((ARM || ARM64) && COMPILE_TEST)
> select RESET_CONTROLLER
> select DRM_KMS_HELPER
> select DRM_GEM_CMA_HELPER
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 3/7] drm/imx/dcss: Enable COMPILE_TEST on all ARM64 platforms
2021-07-28 15:37 ` [PATCH 3/7] drm/imx/dcss: Enable COMPILE_TEST on all ARM64 platforms Laurent Pinchart
@ 2021-07-30 12:10 ` Geert Uytterhoeven
2021-07-30 12:31 ` Philipp Zabel
0 siblings, 1 reply; 16+ messages in thread
From: Geert Uytterhoeven @ 2021-07-30 12:10 UTC (permalink / raw)
To: Laurent Pinchart
Cc: DRI Development, Linux-Renesas, linux-tegra, Laurentiu Palcu,
Lucas Stach, Philipp Zabel, Shawn Guo, Sascha Hauer,
Fabio Estevam, NXP Linux Team, Tomi Valkeinen, Thierry Reding,
Jonathan Hunter, Jyri Sarha
Hi Laurent,
On Wed, Jul 28, 2021 at 5:37 PM Laurent Pinchart
<laurent.pinchart+renesas@ideasonboard.com> wrote:
> To extend test coverage, relax the dependency on ARCH_MXC to also enable
> compilation when COMPILE_TEST is selected.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Thanks for your patch!
> --- a/drivers/gpu/drm/imx/dcss/Kconfig
> +++ b/drivers/gpu/drm/imx/dcss/Kconfig
> @@ -3,7 +3,8 @@ config DRM_IMX_DCSS
> select IMX_IRQSTEER
> select DRM_KMS_CMA_HELPER
> select VIDEOMODE_HELPERS
> - depends on DRM && ARCH_MXC && ARM64
> + depends on DRM
> + depends on ARM64 && (ARCH_MXC || COMPILE_TEST)
As you now have two depends statements, I think this would be easier
to read by maintaining a strict separation between "hard" and "soft"
dependencies:
depends on DRM && ARM64
depends on ARCH_MXC || COMPILE_TEST
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 3/7] drm/imx/dcss: Enable COMPILE_TEST on all ARM64 platforms
2021-07-30 12:10 ` Geert Uytterhoeven
@ 2021-07-30 12:31 ` Philipp Zabel
0 siblings, 0 replies; 16+ messages in thread
From: Philipp Zabel @ 2021-07-30 12:31 UTC (permalink / raw)
To: Geert Uytterhoeven, Laurent Pinchart
Cc: DRI Development, Linux-Renesas, linux-tegra, Laurentiu Palcu,
Lucas Stach, Shawn Guo, Sascha Hauer, Fabio Estevam,
NXP Linux Team, Tomi Valkeinen, Thierry Reding, Jonathan Hunter,
Jyri Sarha
On Fri, 2021-07-30 at 14:10 +0200, Geert Uytterhoeven wrote:
> Hi Laurent,
>
> On Wed, Jul 28, 2021 at 5:37 PM Laurent Pinchart
> <laurent.pinchart+renesas@ideasonboard.com> wrote:
> > To extend test coverage, relax the dependency on ARCH_MXC to also enable
> > compilation when COMPILE_TEST is selected.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
>
> Thanks for your patch!
>
> > --- a/drivers/gpu/drm/imx/dcss/Kconfig
> > +++ b/drivers/gpu/drm/imx/dcss/Kconfig
> > @@ -3,7 +3,8 @@ config DRM_IMX_DCSS
> > select IMX_IRQSTEER
> > select DRM_KMS_CMA_HELPER
> > select VIDEOMODE_HELPERS
> > - depends on DRM && ARCH_MXC && ARM64
> > + depends on DRM
> > + depends on ARM64 && (ARCH_MXC || COMPILE_TEST)
>
> As you now have two depends statements, I think this would be easier
> to read by maintaining a strict separation between "hard" and "soft"
> dependencies:
>
> depends on DRM && ARM64
> depends on ARCH_MXC || COMPILE_TEST
I would let (ARCH_MXC && ARM64) stay together, and as Tomi suggested,
lift the ARM64 limitation if COMPILE_TEST is enabled:
depends on DRM
depends on (ARCH_MXC && ARM64) || COMPILE_TEST
regards
Philipp
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 0/7] drm: Extend COMPILE_TEST support to some ARM drivers
[not found] ` <YQLdDTu4duXXQXAs@ravnborg.org>
@ 2021-07-30 19:33 ` Laurent Pinchart
0 siblings, 0 replies; 16+ messages in thread
From: Laurent Pinchart @ 2021-07-30 19:33 UTC (permalink / raw)
To: Sam Ravnborg
Cc: dri-devel, Tomi Valkeinen, Sascha Hauer, Jyri Sarha,
Jonathan Hunter, linux-renesas-soc, Thierry Reding, linux-imx,
Laurentiu Palcu, linux-tegra, Shawn Guo
Hi Sam,
On Thu, Jul 29, 2021 at 06:53:33PM +0200, Sam Ravnborg wrote:
> On Wed, Jul 28, 2021 at 06:37:29PM +0300, Laurent Pinchart wrote:
> > Hello,
> >
> > This patch series stems from subsystem-wide changes I wanted to
> > compile-test with an ARM64 cross-compiler. My laziness to fire a 32-bit
> > ARM build probably resulted in more time being spent writing these
> > patches, but hopefully they'll turn out to be useful for more people :-)
> >
> > Patches 1/7 and 2/7 are fixes for compilation warnings on 64-bit
> > platforms in the omapdrm and sti-drm drivers. They are a dependency for
> > the Kconfig changes that follow to avoid introducing build warnings, but
> > could also be merged before.
> >
> > Patches 3/7 to 7/7 enable compilation of the imx-dcss, omapdrm, sti-drm,
> > tegra-drm and tilcdc drivers on ARM64 with COMPILE_TEST. The patches are
> > independent from each other, so they can be picked by their respective
> > maintainers.
> >
> > We could also extend test compilation to more architecture, but I didn't
> > want to remove all dependencies on ARM or ARM64 at this point for fear
> > or triggering build warnings that I wouldn't be able to catch locally.
> > If there's a consensus that fully relaxing the platform requirement is
> > better, I can submit a new version that does so and rely on the 0day bot
> > to catch issues.
>
> I have alpha, sparc64, and a few more so we can get pretty good coverage
> before it hits -next.
It seems that the consensus is to enable COMPILE_TEST on all platforms,
so I'll do that.
> If we enable more build coverage then please address all W=1 warnings
> first.
>
> I for once always builds with W=1 these days, and I see more and more
> warnings sneaking in again.
> So lets try to keep the noise level down.
Hmmmm... I build my kernel with -Werror to make sure I catch all
warnings. W=1 doesn't play well with that :-S I'll see if I can turn the
additional warnings into non-errors, but that may become a game of
whack-a-mole.
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/7] drm/omap: Cast pointer to integer safely
2021-07-29 6:13 ` Tomi Valkeinen
@ 2021-07-31 0:25 ` Laurent Pinchart
0 siblings, 0 replies; 16+ messages in thread
From: Laurent Pinchart @ 2021-07-31 0:25 UTC (permalink / raw)
To: Tomi Valkeinen
Cc: dri-devel, linux-renesas-soc, linux-tegra, Laurentiu Palcu,
Lucas Stach, Philipp Zabel, Shawn Guo, Sascha Hauer,
Fabio Estevam, linux-imx, Thierry Reding, Jonathan Hunter,
Jyri Sarha
Hi Tomi,
On Thu, Jul 29, 2021 at 09:13:17AM +0300, Tomi Valkeinen wrote:
> On 28/07/2021 18:37, Laurent Pinchart wrote:
> > On 64-bit platforms, the compiler complains that casting a void pointer
> > to an unsigned int loses data. Cast the pointer to a uintptr_t unsigned
> > to fix this.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> > ---
> > drivers/gpu/drm/omapdrm/omap_drv.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
> > index f86e20578143..c05d3975cb31 100644
> > --- a/drivers/gpu/drm/omapdrm/omap_drv.c
> > +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
> > @@ -572,7 +572,7 @@ static int omapdrm_init(struct omap_drm_private *priv, struct device *dev)
> > priv->dss->mgr_ops_priv = priv;
> >
> > soc = soc_device_match(omapdrm_soc_devices);
> > - priv->omaprev = soc ? (unsigned int)soc->data : 0;
> > + priv->omaprev = soc ? (uintptr_t)soc->data : 0;
> > priv->wq = alloc_ordered_workqueue("omapdrm", 0);
> >
> > mutex_init(&priv->list_lock);
> >
>
> Looks fine, although the subject sounds odd. Why was the cast "unsafe"
> before, and "safe" now?
The result is indeed exactly the same. It was safe before, because we
know the value won't exceed 32 bits. I'll s/safely/without generating a
warning/.
> There's also another bunch of warnings I see:
I wonder how I missed those. Will fix.
> drivers/gpu/drm/omapdrm/dss/dsi.c: In function ‘dsi_vc_send_long’:
> drivers/gpu/drm/omapdrm/dss/dsi.c:7:25: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t’ {aka ‘const long unsigned int’} [-Wformat=]
> 7 | #define DSS_SUBSYS_NAME "DSI"
> | ^~~~~
> drivers/gpu/drm/omapdrm/dss/dss.h:30:21: note: in expansion of macro ‘DSS_SUBSYS_NAME’
> 30 | #define pr_fmt(fmt) DSS_SUBSYS_NAME ": " fmt
> | ^~~~~~~~~~~~~~~
> ./include/linux/dynamic_debug.h:134:15: note: in expansion of macro ‘pr_fmt’
> 134 | func(&id, ##__VA_ARGS__); \
> | ^~~~~~~~~~~
> ./include/linux/dynamic_debug.h:152:2: note: in expansion of macro ‘__dynamic_func_call’
> 152 | __dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
> | ^~~~~~~~~~~~~~~~~~~
> ./include/linux/dynamic_debug.h:162:2: note: in expansion of macro ‘_dynamic_func_call’
> 162 | _dynamic_func_call(fmt, __dynamic_pr_debug, \
> | ^~~~~~~~~~~~~~~~~~
> ./include/linux/printk.h:471:2: note: in expansion of macro ‘dynamic_pr_debug’
> 471 | dynamic_pr_debug(fmt, ##__VA_ARGS__)
> | ^~~~~~~~~~~~~~~~
> drivers/gpu/drm/omapdrm/dss/dss.h:36:2: note: in expansion of macro ‘pr_debug’
> 36 | pr_debug(format, ## __VA_ARGS__)
> | ^~~~~~~~
> drivers/gpu/drm/omapdrm/dss/dsi.c:2097:3: note: in expansion of macro ‘DSSDBG’
> 2097 | DSSDBG("dsi_vc_send_long, %d bytes\n", msg->tx_len);
> | ^~~~~~
> In file included from ./include/linux/printk.h:7,
> from ./include/linux/kernel.h:19,
> from drivers/gpu/drm/omapdrm/dss/dsi.c:9:
> drivers/gpu/drm/omapdrm/dss/dsi.c: In function ‘dsi_vc_generic_read’:
> ./include/linux/kern_levels.h:5:18: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ {aka ‘const long unsigned int’} [-Wformat=]
> 5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
> | ^~~~~~
> ./include/linux/kern_levels.h:11:18: note: in expansion of macro ‘KERN_SOH’
> 11 | #define KERN_ERR KERN_SOH "3" /* error conditions */
> | ^~~~~~~~
> ./include/linux/printk.h:390:9: note: in expansion of macro ‘KERN_ERR’
> 390 | printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
> | ^~~~~~~~
> drivers/gpu/drm/omapdrm/dss/dss.h:40:2: note: in expansion of macro ‘pr_err’
> 40 | pr_err("omapdss " DSS_SUBSYS_NAME " error: " format, ##__VA_ARGS__)
> | ^~~~~~
> drivers/gpu/drm/omapdrm/dss/dsi.c:2393:2: note: in expansion of macro ‘DSSERR’
> 2393 | DSSERR("%s(vc %d, reqlen %d) failed\n", __func__, vc, msg->tx_len);
> | ^~~~~~
>
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2021-07-31 0:25 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-28 15:37 [PATCH 0/7] drm: Extend COMPILE_TEST support to some ARM drivers Laurent Pinchart
2021-07-28 15:37 ` [PATCH 1/7] drm/omap: Cast pointer to integer safely Laurent Pinchart
2021-07-29 6:13 ` Tomi Valkeinen
2021-07-31 0:25 ` Laurent Pinchart
2021-07-28 15:37 ` [PATCH 2/7] drm/sti: Use correct printk format specifiers for size_t Laurent Pinchart
2021-07-30 9:35 ` Philippe CORNU
2021-07-28 15:37 ` [PATCH 3/7] drm/imx/dcss: Enable COMPILE_TEST on all ARM64 platforms Laurent Pinchart
2021-07-30 12:10 ` Geert Uytterhoeven
2021-07-30 12:31 ` Philipp Zabel
2021-07-28 15:37 ` [PATCH 4/7] drm/omap: Enable COMPILE_TEST on all ARM and " Laurent Pinchart
2021-07-28 15:37 ` [PATCH 5/7] drm/sti: " Laurent Pinchart
2021-07-30 9:39 ` Philippe CORNU
2021-07-28 15:37 ` [PATCH 6/7] drm/tegra: Enable COMPILE_TEST on all " Laurent Pinchart
2021-07-28 15:37 ` [PATCH 7/7] drm/tilcdc: " Laurent Pinchart
2021-07-29 6:19 ` [PATCH 0/7] drm: Extend COMPILE_TEST support to some ARM drivers Tomi Valkeinen
[not found] ` <YQLdDTu4duXXQXAs@ravnborg.org>
2021-07-30 19:33 ` Laurent Pinchart
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).