Re: [PATCH v2] drm/msm/adreno: Add missing MODULE_FIRMWARE macros

2023-08-15 Thread Juerg Haefliger
On Thu, 22 Jun 2023 21:44:25 +0300
Dmitry Baryshkov  wrote:

> On 20/06/2023 08:40, Juerg Haefliger wrote:
> > The driver references some firmware files that don't have corresponding
> > MODULE_FIRMWARE macros and thus won't be listed via modinfo. Fix that.
> > 
> > Signed-off-by: Juerg Haefliger 
> > 
> > ---
> > v2:
> >- Drop addition and removal of zap files (needs more discussion)
> >- Add new a690_gmu.bin
> >- Update commit subject and message accordingly
> > ---
> >   drivers/gpu/drm/msm/adreno/adreno_device.c | 11 +++
> >   1 file changed, 11 insertions(+)  
> 
> Reviewed-by: Dmitry Baryshkov 
> 

It looks like this didn't go anywhere. Is there something missing?

...Juerg


pgpyeCmru6MBZ.pgp
Description: OpenPGP digital signature


[PATCH v2] drm/bridge: lt9611uxc: Add MODULE_FIRMWARE macro

2023-06-19 Thread Juerg Haefliger
The module loads firmware so add a MODULE_FIRMWARE macro to provide that
information via modinfo.

Signed-off-by: Juerg Haefliger 
Reviewed-by: Robert Foss 
---
v2:
  - Introduce FW_FILE macro
  - Add Rob's r-b
---
 drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c 
b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
index 2a57e804ea02..22c84d29c2bc 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
@@ -28,6 +28,8 @@
 #define EDID_BLOCK_SIZE128
 #define EDID_NUM_BLOCKS2
 
+#define FW_FILE "lt9611uxc_fw.bin"
+
 struct lt9611uxc {
struct device *dev;
struct drm_bridge bridge;
@@ -754,7 +756,7 @@ static int lt9611uxc_firmware_update(struct lt9611uxc 
*lt9611uxc)
REG_SEQ0(0x805a, 0x00),
};
 
-   ret = request_firmware(&fw, "lt9611uxc_fw.bin", lt9611uxc->dev);
+   ret = request_firmware(&fw, FW_FILE, lt9611uxc->dev);
if (ret < 0)
return ret;
 
@@ -1019,3 +1021,5 @@ module_i2c_driver(lt9611uxc_driver);
 
 MODULE_AUTHOR("Dmitry Baryshkov ");
 MODULE_LICENSE("GPL v2");
+
+MODULE_FIRMWARE(FW_FILE);
-- 
2.37.2



[PATCH v2] drm/msm/adreno: Add missing MODULE_FIRMWARE macros

2023-06-19 Thread Juerg Haefliger
The driver references some firmware files that don't have corresponding
MODULE_FIRMWARE macros and thus won't be listed via modinfo. Fix that.

Signed-off-by: Juerg Haefliger 

---
v2:
  - Drop addition and removal of zap files (needs more discussion)
  - Add new a690_gmu.bin
  - Update commit subject and message accordingly
---
 drivers/gpu/drm/msm/adreno/adreno_device.c | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c 
b/drivers/gpu/drm/msm/adreno/adreno_device.c
index cb94cfd137a8..7c1f9a844009 100644
--- a/drivers/gpu/drm/msm/adreno/adreno_device.c
+++ b/drivers/gpu/drm/msm/adreno/adreno_device.c
@@ -397,10 +397,21 @@ MODULE_FIRMWARE("qcom/a530_zap.mdt");
 MODULE_FIRMWARE("qcom/a530_zap.b00");
 MODULE_FIRMWARE("qcom/a530_zap.b01");
 MODULE_FIRMWARE("qcom/a530_zap.b02");
+MODULE_FIRMWARE("qcom/a540_gpmu.fw2");
 MODULE_FIRMWARE("qcom/a619_gmu.bin");
 MODULE_FIRMWARE("qcom/a630_sqe.fw");
 MODULE_FIRMWARE("qcom/a630_gmu.bin");
 MODULE_FIRMWARE("qcom/a630_zap.mbn");
+MODULE_FIRMWARE("qcom/a640_gmu.bin");
+MODULE_FIRMWARE("qcom/a650_gmu.bin");
+MODULE_FIRMWARE("qcom/a650_sqe.fw");
+MODULE_FIRMWARE("qcom/a660_gmu.bin");
+MODULE_FIRMWARE("qcom/a660_sqe.fw");
+MODULE_FIRMWARE("qcom/a690_gmu.bin");
+MODULE_FIRMWARE("qcom/leia_pfp_470.fw");
+MODULE_FIRMWARE("qcom/leia_pm4_470.fw");
+MODULE_FIRMWARE("qcom/yamato_pfp.fw");
+MODULE_FIRMWARE("qcom/yamato_pm4.fw");
 
 static inline bool _rev_match(uint8_t entry, uint8_t id)
 {
-- 
2.37.2



Re: [PATCH] drm/msm/adreno: Update MODULE_FIRMWARE macros

2023-06-19 Thread Juerg Haefliger
On Fri, 16 Jun 2023 21:25:01 +0530
Akhil P Oommen  wrote:

> On Fri, Jun 16, 2023 at 02:28:15PM +0200, Juerg Haefliger wrote:
> > 
> > Add missing MODULE_FIRMWARE macros and remove some for firmwares that
> > the driver no longer references.
> > 
> > Signed-off-by: Juerg Haefliger 
> > ---
> >  drivers/gpu/drm/msm/adreno/adreno_device.c | 23 ++
> >  1 file changed, 19 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c 
> > b/drivers/gpu/drm/msm/adreno/adreno_device.c
> > index 8cff86e9d35c..9f70d7c1a72a 100644
> > --- a/drivers/gpu/drm/msm/adreno/adreno_device.c
> > +++ b/drivers/gpu/drm/msm/adreno/adreno_device.c
> > @@ -364,17 +364,32 @@ MODULE_FIRMWARE("qcom/a330_pm4.fw");
> >  MODULE_FIRMWARE("qcom/a330_pfp.fw");
> >  MODULE_FIRMWARE("qcom/a420_pm4.fw");
> >  MODULE_FIRMWARE("qcom/a420_pfp.fw");
> > +MODULE_FIRMWARE("qcom/a506_zap.mdt");
> > +MODULE_FIRMWARE("qcom/a508_zap.mdt");
> > +MODULE_FIRMWARE("qcom/a512_zap.mdt");
> >  MODULE_FIRMWARE("qcom/a530_pm4.fw");
> >  MODULE_FIRMWARE("qcom/a530_pfp.fw");
> >  MODULE_FIRMWARE("qcom/a530v3_gpmu.fw2");
> >  MODULE_FIRMWARE("qcom/a530_zap.mdt");
> > -MODULE_FIRMWARE("qcom/a530_zap.b00");
> > -MODULE_FIRMWARE("qcom/a530_zap.b01");
> > -MODULE_FIRMWARE("qcom/a530_zap.b02");  
> Why are these not required when "qcom/a530_zap.mdt" is present?
> 
> mdt & b0* binaries are different partitions of the same secure
> firmware. Even though we specify only the .mdt file here, the PIL driver
> will load the *.b0* file automatically. OTOH, "*.mbn" is a standalone
> unified binary format.

Ah thanks for the clarification.


> If the requirement is to ensure that all necessary firmwares are part of
> your distribution, you should include the *.b0* files too here.

I'll look into that. IMO, everything that the drivers can load should be
listed for completeness.

...Juerg


> -Akhil
> 
> > +MODULE_FIRMWARE("qcom/a540_gpmu.fw2");
> > +MODULE_FIRMWARE("qcom/a540_zap.mdt");
> > +MODULE_FIRMWARE("qcom/a615_zap.mdt");
> >  MODULE_FIRMWARE("qcom/a619_gmu.bin");
> >  MODULE_FIRMWARE("qcom/a630_sqe.fw");
> >  MODULE_FIRMWARE("qcom/a630_gmu.bin");
> > -MODULE_FIRMWARE("qcom/a630_zap.mbn");
> > +MODULE_FIRMWARE("qcom/a630_zap.mdt");
> > +MODULE_FIRMWARE("qcom/a640_gmu.bin");
> > +MODULE_FIRMWARE("qcom/a640_zap.mdt");
> > +MODULE_FIRMWARE("qcom/a650_gmu.bin");
> > +MODULE_FIRMWARE("qcom/a650_sqe.fw");
> > +MODULE_FIRMWARE("qcom/a650_zap.mdt");
> > +MODULE_FIRMWARE("qcom/a660_gmu.bin");
> > +MODULE_FIRMWARE("qcom/a660_sqe.fw");
> > +MODULE_FIRMWARE("qcom/a660_zap.mdt");
> > +MODULE_FIRMWARE("qcom/leia_pfp_470.fw");
> > +MODULE_FIRMWARE("qcom/leia_pm4_470.fw");
> > +MODULE_FIRMWARE("qcom/yamato_pfp.fw");
> > +MODULE_FIRMWARE("qcom/yamato_pm4.fw");
> >  
> >  static inline bool _rev_match(uint8_t entry, uint8_t id)
> >  {
> > -- 
> > 2.37.2
> >   



pgpsxCFFv8ck6.pgp
Description: OpenPGP digital signature


Re: [PATCH] drm/amdgpu: Add missing MODULE_FIRMWARE macro

2023-06-19 Thread Juerg Haefliger
On Fri, 16 Jun 2023 08:53:20 -0400
Alex Deucher  wrote:

> On Fri, Jun 16, 2023 at 8:11 AM Juerg Haefliger
>  wrote:
> >
> > Add the missing MODULE_FIRMWARE macro for "amdgpu/fiji_smc.bin".
> >
> > Signed-off-by: Juerg Haefliger 
> > ---
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
> > b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > index 5c7d40873ee2..1f83a939d641 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > @@ -92,6 +92,7 @@ MODULE_FIRMWARE("amdgpu/picasso_gpu_info.bin");
> >  MODULE_FIRMWARE("amdgpu/raven2_gpu_info.bin");
> >  MODULE_FIRMWARE("amdgpu/arcturus_gpu_info.bin");
> >  MODULE_FIRMWARE("amdgpu/navi12_gpu_info.bin");
> > +MODULE_FIRMWARE("amdgpu/fiji_smc.bin");  
> 
> This is already specified in smumgr.c.

It sure is. Sorry for the noise :-(

Thanks for looking at it.
..Juerg

 
> Alex
> 
> >
> >  #define AMDGPU_RESUME_MS   2000
> >  #define AMDGPU_MAX_RETRY_LIMIT 2
> > --
> > 2.37.2
> >  



pgpKLEUin_HCy.pgp
Description: OpenPGP digital signature


[PATCH] drm/msm/adreno: Update MODULE_FIRMWARE macros

2023-06-16 Thread Juerg Haefliger
Add missing MODULE_FIRMWARE macros and remove some for firmwares that
the driver no longer references.

Signed-off-by: Juerg Haefliger 
---
 drivers/gpu/drm/msm/adreno/adreno_device.c | 23 ++
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c 
b/drivers/gpu/drm/msm/adreno/adreno_device.c
index 8cff86e9d35c..9f70d7c1a72a 100644
--- a/drivers/gpu/drm/msm/adreno/adreno_device.c
+++ b/drivers/gpu/drm/msm/adreno/adreno_device.c
@@ -364,17 +364,32 @@ MODULE_FIRMWARE("qcom/a330_pm4.fw");
 MODULE_FIRMWARE("qcom/a330_pfp.fw");
 MODULE_FIRMWARE("qcom/a420_pm4.fw");
 MODULE_FIRMWARE("qcom/a420_pfp.fw");
+MODULE_FIRMWARE("qcom/a506_zap.mdt");
+MODULE_FIRMWARE("qcom/a508_zap.mdt");
+MODULE_FIRMWARE("qcom/a512_zap.mdt");
 MODULE_FIRMWARE("qcom/a530_pm4.fw");
 MODULE_FIRMWARE("qcom/a530_pfp.fw");
 MODULE_FIRMWARE("qcom/a530v3_gpmu.fw2");
 MODULE_FIRMWARE("qcom/a530_zap.mdt");
-MODULE_FIRMWARE("qcom/a530_zap.b00");
-MODULE_FIRMWARE("qcom/a530_zap.b01");
-MODULE_FIRMWARE("qcom/a530_zap.b02");
+MODULE_FIRMWARE("qcom/a540_gpmu.fw2");
+MODULE_FIRMWARE("qcom/a540_zap.mdt");
+MODULE_FIRMWARE("qcom/a615_zap.mdt");
 MODULE_FIRMWARE("qcom/a619_gmu.bin");
 MODULE_FIRMWARE("qcom/a630_sqe.fw");
 MODULE_FIRMWARE("qcom/a630_gmu.bin");
-MODULE_FIRMWARE("qcom/a630_zap.mbn");
+MODULE_FIRMWARE("qcom/a630_zap.mdt");
+MODULE_FIRMWARE("qcom/a640_gmu.bin");
+MODULE_FIRMWARE("qcom/a640_zap.mdt");
+MODULE_FIRMWARE("qcom/a650_gmu.bin");
+MODULE_FIRMWARE("qcom/a650_sqe.fw");
+MODULE_FIRMWARE("qcom/a650_zap.mdt");
+MODULE_FIRMWARE("qcom/a660_gmu.bin");
+MODULE_FIRMWARE("qcom/a660_sqe.fw");
+MODULE_FIRMWARE("qcom/a660_zap.mdt");
+MODULE_FIRMWARE("qcom/leia_pfp_470.fw");
+MODULE_FIRMWARE("qcom/leia_pm4_470.fw");
+MODULE_FIRMWARE("qcom/yamato_pfp.fw");
+MODULE_FIRMWARE("qcom/yamato_pm4.fw");
 
 static inline bool _rev_match(uint8_t entry, uint8_t id)
 {
-- 
2.37.2



[PATCH] habanalabs/gaudi: Add MODULE_FIRMWARE macros

2023-06-16 Thread Juerg Haefliger
The module loads firmware so add MODULE_FIRMWARE macros to provide that
information via modinfo.

Signed-off-by: Juerg Haefliger 
---
 drivers/accel/habanalabs/gaudi/gaudi.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/drivers/accel/habanalabs/gaudi/gaudi.c 
b/drivers/accel/habanalabs/gaudi/gaudi.c
index a29aa8f7b6f3..cd034e98128a 100644
--- a/drivers/accel/habanalabs/gaudi/gaudi.c
+++ b/drivers/accel/habanalabs/gaudi/gaudi.c
@@ -63,6 +63,10 @@
 #define GAUDI_LINUX_FW_FILE"habanalabs/gaudi/gaudi-fit.itb"
 #define GAUDI_TPC_FW_FILE  "habanalabs/gaudi/gaudi_tpc.bin"
 
+MODULE_FIRMWARE(GAUDI_BOOT_FIT_FILE);
+MODULE_FIRMWARE(GAUDI_LINUX_FW_FILE);
+MODULE_FIRMWARE(GAUDI_TPC_FW_FILE);
+
 #define GAUDI_DMA_POOL_BLK_SIZE0x100 /* 256 bytes */
 
 #define GAUDI_RESET_TIMEOUT_MSEC   2000/* 2000ms */
-- 
2.37.2



[PATCH] fbdev: broadsheetfb: Add MODULE_FIRMWARE macro

2023-06-16 Thread Juerg Haefliger
The module loads firmware so add a MODULE_FIRMWARE macro to provide that
information via modinfo.

Signed-off-by: Juerg Haefliger 
---
 drivers/video/fbdev/broadsheetfb.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/video/fbdev/broadsheetfb.c 
b/drivers/video/fbdev/broadsheetfb.c
index b518cacbf7cd..678d182d187d 100644
--- a/drivers/video/fbdev/broadsheetfb.c
+++ b/drivers/video/fbdev/broadsheetfb.c
@@ -1223,3 +1223,5 @@ module_platform_driver(broadsheetfb_driver);
 MODULE_DESCRIPTION("fbdev driver for Broadsheet controller");
 MODULE_AUTHOR("Jaya Kumar");
 MODULE_LICENSE("GPL");
+
+MODULE_FIRMWARE("broadsheet.wbf");
-- 
2.37.2



[PATCH] fbdev: metronomefb: Add MODULE_FIRMWARE macro

2023-06-16 Thread Juerg Haefliger
The module loads firmware so add a MODULE_FIRMWARE macro to provide that
information via modinfo.

Signed-off-by: Juerg Haefliger 
---
 drivers/video/fbdev/metronomefb.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/video/fbdev/metronomefb.c 
b/drivers/video/fbdev/metronomefb.c
index bbdbf463f0c8..4e50882d080c 100644
--- a/drivers/video/fbdev/metronomefb.c
+++ b/drivers/video/fbdev/metronomefb.c
@@ -778,3 +778,5 @@ MODULE_PARM_DESC(user_wfm_size, "Set custom waveform size");
 MODULE_DESCRIPTION("fbdev driver for Metronome controller");
 MODULE_AUTHOR("Jaya Kumar");
 MODULE_LICENSE("GPL");
+
+MODULE_FIRMWARE("metronome.wbf");
-- 
2.37.2



[PATCH] drm/bridge: lt9611uxc: Add MODULE_FIRMWARE macro

2023-06-16 Thread Juerg Haefliger
The module loads firmware so add a MODULE_FIRMWARE macro to provide that
information via modinfo.

Signed-off-by: Juerg Haefliger 
---
 drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c 
b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
index 583daacf3705..6b2a4f8d6f78 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
@@ -1019,3 +1019,5 @@ module_i2c_driver(lt9611uxc_driver);
 
 MODULE_AUTHOR("Dmitry Baryshkov ");
 MODULE_LICENSE("GPL v2");
+
+MODULE_FIRMWARE("lt9611uxc_fw.bin");
-- 
2.37.2



[PATCH] drm/amdgpu: Add missing MODULE_FIRMWARE macro

2023-06-16 Thread Juerg Haefliger
Add the missing MODULE_FIRMWARE macro for "amdgpu/fiji_smc.bin".

Signed-off-by: Juerg Haefliger 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 5c7d40873ee2..1f83a939d641 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -92,6 +92,7 @@ MODULE_FIRMWARE("amdgpu/picasso_gpu_info.bin");
 MODULE_FIRMWARE("amdgpu/raven2_gpu_info.bin");
 MODULE_FIRMWARE("amdgpu/arcturus_gpu_info.bin");
 MODULE_FIRMWARE("amdgpu/navi12_gpu_info.bin");
+MODULE_FIRMWARE("amdgpu/fiji_smc.bin");
 
 #define AMDGPU_RESUME_MS   2000
 #define AMDGPU_MAX_RETRY_LIMIT 2
-- 
2.37.2



Re: [PATCH 1/3] drm/msm/adreno: Add Adreno A690 support

2023-03-15 Thread Juerg Haefliger
> > diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c 
> > b/drivers/gpu/drm/msm/adreno/adreno_device.c
> > index ca38b837dedb..437515e46e5a 100644
> > --- a/drivers/gpu/drm/msm/adreno/adreno_device.c
> > +++ b/drivers/gpu/drm/msm/adreno/adreno_device.c
> > @@ -355,6 +355,20 @@ static const struct adreno_info gpulist[] = {
> > .init = a6xx_gpu_init,
> > .zapfw = "a640_zap.mdt",
> > .hwcg = a640_hwcg,
> > +   }, {
> > +   .rev = ADRENO_REV(6, 9, 0, ANY_ID),
> > +   .revn = 690,
> > +   .name = "A690",
> > +   .fw = {
> > +   [ADRENO_FW_SQE] = "a660_sqe.fw",
> > +   [ADRENO_FW_GMU] = "a690_gmu.bin",
> > +   },
> > +   .gmem = SZ_4M,
> > +   .inactive_period = DRM_MSM_INACTIVE_PERIOD,
> > +   .init = a6xx_gpu_init,
> > +   .zapfw = "a690_zap.mdt",
> > +   .hwcg = a690_hwcg,
> > +   .address_space_size = SZ_16G,
> > },
> >  };  
> 
> This needs
> 
> MODULE_FIRMWARE("qcom/a660_sqe.fw");
> MODULE_FIRMWARE("qcom/a690_gmu.bin");
> MODULE_FIRMWARE("qcom/a690_zap.mbn");


Eek. That should be

MODULE_FIRMWARE("qcom/a690_zap.mdt");


> 
> ...Juerg
> 
>   
> > diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.h 
> > b/drivers/gpu/drm/msm/adreno/adreno_gpu.h
> > index b4f9b1343d63..da29bd392388 100644
> > --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.h
> > +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.h
> > @@ -55,7 +55,7 @@ struct adreno_reglist {
> > u32 value;
> >  };
> >  
> > -extern const struct adreno_reglist a615_hwcg[], a630_hwcg[], a640_hwcg[], 
> > a650_hwcg[], a660_hwcg[];
> > +extern const struct adreno_reglist a615_hwcg[], a630_hwcg[], a640_hwcg[], 
> > a650_hwcg[], a660_hwcg[], a690_hwcg[];
> >  
> >  struct adreno_info {
> > struct adreno_rev rev;
> > @@ -272,6 +272,11 @@ static inline int adreno_is_a660(struct adreno_gpu 
> > *gpu)
> > return gpu->revn == 660;
> >  }
> >  
> > +static inline int adreno_is_a690(struct adreno_gpu *gpu)
> > +{
> > +   return gpu->revn == 690;
> > +};
> > +
> >  /* check for a615, a616, a618, a619 or any derivatives */
> >  static inline int adreno_is_a615_family(struct adreno_gpu *gpu)
> >  {
> > @@ -286,7 +291,8 @@ static inline int adreno_is_a660_family(struct 
> > adreno_gpu *gpu)
> >  /* check for a650, a660, or any derivatives */
> >  static inline int adreno_is_a650_family(struct adreno_gpu *gpu)
> >  {
> > -   return gpu->revn == 650 || gpu->revn == 620 || 
> > adreno_is_a660_family(gpu);
> > +   return gpu->revn == 650 || gpu->revn == 620  || gpu->revn == 690 ||
> > +  adreno_is_a660_family(gpu);
> >  }
> >  
> >  u64 adreno_private_address_space_size(struct msm_gpu *gpu);  
> 



pgpsQScJaRoYb.pgp
Description: OpenPGP digital signature


Re: [PATCH 1/3] drm/msm/adreno: Add Adreno A690 support

2023-03-15 Thread Juerg Haefliger
On Tue, 7 Feb 2023 19:40:50 -0800
Bjorn Andersson  wrote:

> From: Bjorn Andersson 
> 
> Introduce support for the Adreno A690, found in Qualcomm SC8280XP.
> 
> Signed-off-by: Bjorn Andersson 
> Signed-off-by: Bjorn Andersson 
> ---
>  drivers/gpu/drm/msm/adreno/a6xx_gpu.c  | 120 -
>  drivers/gpu/drm/msm/adreno/a6xx_hfi.c  |  34 ++
>  drivers/gpu/drm/msm/adreno/adreno_device.c |  14 +++
>  drivers/gpu/drm/msm/adreno/adreno_gpu.h|  10 +-
>  4 files changed, 173 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c 
> b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> index aae60cbd9164..81dfcc5073ad 100644
> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> @@ -588,6 +588,63 @@ const struct adreno_reglist a660_hwcg[] = {
>   {},
>  };
>  
> +const struct adreno_reglist a690_hwcg[] = {
> + {REG_A6XX_RBBM_CLOCK_CNTL_SP0, 0x0222},
> + {REG_A6XX_RBBM_CLOCK_CNTL2_SP0, 0x0220},
> + {REG_A6XX_RBBM_CLOCK_DELAY_SP0, 0x0080},
> + {REG_A6XX_RBBM_CLOCK_HYST_SP0, 0xF3CF},
> + {REG_A6XX_RBBM_CLOCK_CNTL_TP0, 0x},
> + {REG_A6XX_RBBM_CLOCK_CNTL2_TP0, 0x},
> + {REG_A6XX_RBBM_CLOCK_CNTL3_TP0, 0x},
> + {REG_A6XX_RBBM_CLOCK_CNTL4_TP0, 0x0002},
> + {REG_A6XX_RBBM_CLOCK_DELAY_TP0, 0x},
> + {REG_A6XX_RBBM_CLOCK_DELAY2_TP0, 0x},
> + {REG_A6XX_RBBM_CLOCK_DELAY3_TP0, 0x},
> + {REG_A6XX_RBBM_CLOCK_DELAY4_TP0, 0x0001},
> + {REG_A6XX_RBBM_CLOCK_HYST_TP0, 0x},
> + {REG_A6XX_RBBM_CLOCK_HYST2_TP0, 0x},
> + {REG_A6XX_RBBM_CLOCK_HYST3_TP0, 0x},
> + {REG_A6XX_RBBM_CLOCK_HYST4_TP0, 0x0007},
> + {REG_A6XX_RBBM_CLOCK_CNTL_RB0, 0x},
> + {REG_A6XX_RBBM_CLOCK_CNTL2_RB0, 0x0100},
> + {REG_A6XX_RBBM_CLOCK_CNTL_CCU0, 0x2220},
> + {REG_A6XX_RBBM_CLOCK_HYST_RB_CCU0, 0x00040F00},
> + {REG_A6XX_RBBM_CLOCK_CNTL_RAC, 0x25222022},
> + {REG_A6XX_RBBM_CLOCK_CNTL2_RAC, 0x},
> + {REG_A6XX_RBBM_CLOCK_DELAY_RAC, 0x0011},
> + {REG_A6XX_RBBM_CLOCK_HYST_RAC, 0x00445044},
> + {REG_A6XX_RBBM_CLOCK_CNTL_TSE_RAS_RBBM, 0x0422},
> + {REG_A6XX_RBBM_CLOCK_MODE_VFD, 0x},
> + {REG_A6XX_RBBM_CLOCK_MODE_GPC, 0x0022},
> + {REG_A6XX_RBBM_CLOCK_DELAY_HLSQ_2, 0x0002},
> + {REG_A6XX_RBBM_CLOCK_MODE_HLSQ, 0x},
> + {REG_A6XX_RBBM_CLOCK_DELAY_TSE_RAS_RBBM, 0x4000},
> + {REG_A6XX_RBBM_CLOCK_DELAY_VFD, 0x},
> + {REG_A6XX_RBBM_CLOCK_DELAY_GPC, 0x0200},
> + {REG_A6XX_RBBM_CLOCK_DELAY_HLSQ, 0x},
> + {REG_A6XX_RBBM_CLOCK_HYST_TSE_RAS_RBBM, 0x},
> + {REG_A6XX_RBBM_CLOCK_HYST_VFD, 0x},
> + {REG_A6XX_RBBM_CLOCK_HYST_GPC, 0x04104004},
> + {REG_A6XX_RBBM_CLOCK_HYST_HLSQ, 0x},
> + {REG_A6XX_RBBM_CLOCK_CNTL_TEX_FCHE, 0x0222},
> + {REG_A6XX_RBBM_CLOCK_DELAY_TEX_FCHE, 0x0111},
> + {REG_A6XX_RBBM_CLOCK_HYST_TEX_FCHE, 0x},
> + {REG_A6XX_RBBM_CLOCK_CNTL_UCHE, 0x},
> + {REG_A6XX_RBBM_CLOCK_HYST_UCHE, 0x0004},
> + {REG_A6XX_RBBM_CLOCK_DELAY_UCHE, 0x0002},
> + {REG_A6XX_RBBM_CLOCK_CNTL, 0x8AA8AA82},
> + {REG_A6XX_RBBM_ISDB_CNT, 0x0182},
> + {REG_A6XX_RBBM_RAC_THRESHOLD_CNT, 0x},
> + {REG_A6XX_RBBM_SP_HYST_CNT, 0x},
> + {REG_A6XX_RBBM_CLOCK_CNTL_GMU_GX, 0x0222},
> + {REG_A6XX_RBBM_CLOCK_DELAY_GMU_GX, 0x0111},
> + {REG_A6XX_RBBM_CLOCK_HYST_GMU_GX, 0x0555},
> + {REG_A6XX_GPU_GMU_AO_GMU_CGC_MODE_CNTL, 0x20200},
> + {REG_A6XX_GPU_GMU_AO_GMU_CGC_DELAY_CNTL, 0x10111},
> + {REG_A6XX_GPU_GMU_AO_GMU_CGC_HYST_CNTL, 0x},
> + {}
> +};
> +
>  static void a6xx_set_hwcg(struct msm_gpu *gpu, bool state)
>  {
>   struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu);
> @@ -747,6 +804,45 @@ static const u32 a660_protect[] = {
>   A6XX_PROTECT_NORDWR(0x1f8c0, 0x), /* note: infinite range */
>  };
>  
> +/* These are for a690 */
> +static const u32 a690_protect[] = {
> + A6XX_PROTECT_RDONLY(0x0, 0x004ff),
> + A6XX_PROTECT_RDONLY(0x00501, 0x1),
> + A6XX_PROTECT_RDONLY(0x0050b, 0x002f4),
> + A6XX_PROTECT_NORDWR(0x0050e, 0x0),
> + A6XX_PROTECT_NORDWR(0x00510, 0x0),
> + A6XX_PROTECT_NORDWR(0x00534, 0x0),
> + A6XX_PROTECT_NORDWR(0x00800, 0x00082),
> + A6XX_PROTECT_NORDWR(0x008a0, 0x8),
> + A6XX_PROTECT_NORDWR(0x008ab, 0x00024),
> + A6XX_PROTECT_RDONLY(0x008d0, 0x000bc),
> + A6XX_PROTECT_NORDWR(0x00900, 0x0004d),
> + A6XX_PROTECT_NORDWR(0x0098d, 0x00272),
> + A6XX_PROTECT_NORDWR(0x00e00, 0x1),
> + A6XX_PROTECT_NORDWR(0x00e03, 0xc),
> + A6XX_PROTECT_NORDWR(0x03c00, 0x000c3),
> + A6XX_PROTECT_RDONLY(0x03cc4, 0x01fff),
> + A6XX_PROTECT_NORDWR(0x08630, 0x001cf),
> + A6XX_PROTECT_NORDWR(0x08e00, 0x0),
> + A6XX_PROTECT_NORDWR(0x08e08, 0x00

[PATCH v2] backlight: Kconfig whitespace and indentation cleanups

2021-05-19 Thread Juerg Haefliger
Remove leading whitespaces, replace multi spaces with tabs, and fix help
text indentation.

Signed-off-by: Juerg Haefliger 
---
 drivers/video/backlight/Kconfig | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig
index d83c87b902c1..c887338de386 100644
--- a/drivers/video/backlight/Kconfig
+++ b/drivers/video/backlight/Kconfig
@@ -128,12 +128,12 @@ config LCD_HX8357
  If you have a HX-8357 LCD panel, say Y to enable its LCD control
  driver.
 
-  config LCD_OTM3225A
-   tristate "ORISE Technology OTM3225A support"
-   depends on SPI
-   help
- If you have a panel based on the OTM3225A controller
- chip then say y to include a driver for it.
+config LCD_OTM3225A
+   tristate "ORISE Technology OTM3225A support"
+   depends on SPI
+   help
+ If you have a panel based on the OTM3225A controller
+ chip then say y to include a driver for it.
 
 endif # LCD_CLASS_DEVICE
 
@@ -269,11 +269,11 @@ config BACKLIGHT_MAX8925
  WLED output, say Y here to enable this driver.
 
 config BACKLIGHT_APPLE
-   tristate "Apple Backlight Driver"
-   depends on X86 && ACPI
-   help
-If you have an Intel-based Apple say Y to enable a driver for its
-backlight.
+   tristate "Apple Backlight Driver"
+   depends on X86 && ACPI
+   help
+ If you have an Intel-based Apple say Y to enable a driver for its
+ backlight.
 
 config BACKLIGHT_TOSA
tristate "Sharp SL-6000 Backlight Driver"
-- 
2.27.0



[PATCH] backlight: Remove leading spaces in Kconfig

2021-05-17 Thread Juerg Haefliger
Remove leading spaces before tabs in Kconfig file(s) by running the
following command:

  $ find drivers/video/backlight -name 'Kconfig*' | \
xargs sed -r -i 's/^[ ]+\t/\t/'

Signed-off-by: Juerg Haefliger 
---
 drivers/video/backlight/Kconfig | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig
index d83c87b902c1..a967974f6cd6 100644
--- a/drivers/video/backlight/Kconfig
+++ b/drivers/video/backlight/Kconfig
@@ -129,11 +129,11 @@ config LCD_HX8357
  driver.
 
   config LCD_OTM3225A
-   tristate "ORISE Technology OTM3225A support"
-   depends on SPI
-   help
- If you have a panel based on the OTM3225A controller
- chip then say y to include a driver for it.
+   tristate "ORISE Technology OTM3225A support"
+   depends on SPI
+   help
+ If you have a panel based on the OTM3225A controller
+ chip then say y to include a driver for it.
 
 endif # LCD_CLASS_DEVICE
 
-- 
2.27.0



Re: [PATCH] treewide: Remove leading spaces in Kconfig files

2021-05-17 Thread Juerg Haefliger
On Mon, May 17, 2021 at 7:46 AM Greg KH  wrote:
>
> On Sun, May 16, 2021 at 03:22:09PM +0200, Juerg Haefliger wrote:
> > There are a few occurences of leading spaces before tabs in a couple of
> > Kconfig files. Remove them by running the following command:
> >
> >   $ find . -name 'Kconfig*' | xargs sed -r -i 's/^[ ]+\t/\t/'
> >
> > Signed-off-by: Juerg Haefliger 
> > ---
> >  arch/arm/mach-omap1/Kconfig | 12 ++--
> >  arch/arm/mach-vt8500/Kconfig|  6 +++---
> >  arch/arm/mm/Kconfig | 10 +-
> >  drivers/char/hw_random/Kconfig  |  8 
> >  drivers/net/usb/Kconfig | 10 +-
> >  drivers/net/wan/Kconfig |  4 ++--
> >  drivers/scsi/Kconfig|  2 +-
> >  drivers/uio/Kconfig |  2 +-
> >  drivers/video/backlight/Kconfig | 10 +-
> >  drivers/virtio/Kconfig  |  2 +-
> >  drivers/w1/masters/Kconfig  |  6 +++---
> >  fs/proc/Kconfig |  4 ++--
> >  init/Kconfig|  2 +-
> >  net/netfilter/Kconfig   |  2 +-
> >  net/netfilter/ipvs/Kconfig  |  2 +-
> >  15 files changed, 41 insertions(+), 41 deletions(-)
>
> Please break this up into one patch per subsystem and resend to the
> proper maintainers that way.

Hmm... How is my patch different from other treewide Kconfig cleanup
patches like:
a7f7f6248d97 ("treewide: replace '---help---' in Kconfig files with 'help'")
8636a1f9677d ("treewide: surround Kconfig file paths with double quotes")
83fc61a563cb ("treewide: Fix typos in Kconfig")
769a12a9c760 ("treewide: Kconfig: fix wording / spelling")
f54619f28fb6 ("treewide: Fix typos in Kconfig")

...Juerg


> thanks,
>
> greg k-h


Re: [PATCH] treewide: Remove leading spaces in Kconfig files

2021-05-17 Thread Juerg Haefliger
On Mon, 17 May 2021 10:17:38 +0200
Greg KH  wrote:

> On Mon, May 17, 2021 at 10:07:43AM +0200, Juerg Haefliger wrote:
> > On Mon, May 17, 2021 at 7:46 AM Greg KH  wrote: 
> >  
> > >
> > > On Sun, May 16, 2021 at 03:22:09PM +0200, Juerg Haefliger wrote:  
> > > > There are a few occurences of leading spaces before tabs in a couple of
> > > > Kconfig files. Remove them by running the following command:
> > > >
> > > >   $ find . -name 'Kconfig*' | xargs sed -r -i 's/^[ ]+\t/\t/'
> > > >
> > > > Signed-off-by: Juerg Haefliger 
> > > > ---
> > > >  arch/arm/mach-omap1/Kconfig | 12 ++--
> > > >  arch/arm/mach-vt8500/Kconfig|  6 +++---
> > > >  arch/arm/mm/Kconfig | 10 +-
> > > >  drivers/char/hw_random/Kconfig  |  8 
> > > >  drivers/net/usb/Kconfig | 10 +-
> > > >  drivers/net/wan/Kconfig |  4 ++--
> > > >  drivers/scsi/Kconfig|  2 +-
> > > >  drivers/uio/Kconfig |  2 +-
> > > >  drivers/video/backlight/Kconfig | 10 +-
> > > >  drivers/virtio/Kconfig  |  2 +-
> > > >  drivers/w1/masters/Kconfig  |  6 +++---
> > > >  fs/proc/Kconfig |  4 ++--
> > > >  init/Kconfig|  2 +-
> > > >  net/netfilter/Kconfig   |  2 +-
> > > >  net/netfilter/ipvs/Kconfig  |  2 +-
> > > >  15 files changed, 41 insertions(+), 41 deletions(-)  
> > >
> > > Please break this up into one patch per subsystem and resend to the
> > > proper maintainers that way.  
> > 
> > Hmm... How is my patch different from other treewide Kconfig cleanup
> > patches like:
> > a7f7f6248d97 ("treewide: replace '---help---' in Kconfig files with 'help'")
> > 8636a1f9677d ("treewide: surround Kconfig file paths with double quotes")
> > 83fc61a563cb ("treewide: Fix typos in Kconfig")
> > 769a12a9c760 ("treewide: Kconfig: fix wording / spelling")
> > f54619f28fb6 ("treewide: Fix typos in Kconfig")  
> 
> Ok, I'll just ignore this and not try to suggest a way for you to get
> your change accepted...

No worries. I can make the change, was just wondering...

...Juerg
 
> greg k-h



pgpxB3yTvPCYs.pgp
Description: OpenPGP digital signature


[PATCH] treewide: Remove leading spaces in Kconfig files

2021-05-17 Thread Juerg Haefliger
There are a few occurences of leading spaces before tabs in a couple of
Kconfig files. Remove them by running the following command:

  $ find . -name 'Kconfig*' | xargs sed -r -i 's/^[ ]+\t/\t/'

Signed-off-by: Juerg Haefliger 
---
 arch/arm/mach-omap1/Kconfig | 12 ++--
 arch/arm/mach-vt8500/Kconfig|  6 +++---
 arch/arm/mm/Kconfig | 10 +-
 drivers/char/hw_random/Kconfig  |  8 
 drivers/net/usb/Kconfig | 10 +-
 drivers/net/wan/Kconfig |  4 ++--
 drivers/scsi/Kconfig|  2 +-
 drivers/uio/Kconfig |  2 +-
 drivers/video/backlight/Kconfig | 10 +-
 drivers/virtio/Kconfig  |  2 +-
 drivers/w1/masters/Kconfig  |  6 +++---
 fs/proc/Kconfig |  4 ++--
 init/Kconfig|  2 +-
 net/netfilter/Kconfig   |  2 +-
 net/netfilter/ipvs/Kconfig  |  2 +-
 15 files changed, 41 insertions(+), 41 deletions(-)

diff --git a/arch/arm/mach-omap1/Kconfig b/arch/arm/mach-omap1/Kconfig
index 9536b8f3c07d..208c700c2455 100644
--- a/arch/arm/mach-omap1/Kconfig
+++ b/arch/arm/mach-omap1/Kconfig
@@ -65,14 +65,14 @@ config MACH_OMAP_INNOVATOR
 config MACH_OMAP_H2
bool "TI H2 Support"
depends on ARCH_OMAP16XX
-   help
+   help
  TI OMAP 1610/1611B H2 board support. Say Y here if you have such
  a board.
 
 config MACH_OMAP_H3
bool "TI H3 Support"
depends on ARCH_OMAP16XX
-   help
+   help
  TI OMAP 1710 H3 board support. Say Y here if you have such
  a board.
 
@@ -85,14 +85,14 @@ config MACH_HERALD
 config MACH_OMAP_OSK
bool "TI OSK Support"
depends on ARCH_OMAP16XX
-   help
+   help
  TI OMAP 5912 OSK (OMAP Starter Kit) board support. Say Y here
   if you have such a board.
 
 config OMAP_OSK_MISTRAL
bool "Mistral QVGA board Support"
depends on MACH_OMAP_OSK
-   help
+   help
  The OSK supports an optional add-on board with a Quarter-VGA
  touchscreen, PDA-ish buttons, a resume button, bicolor LED,
  and camera connector.  Say Y here if you have this board.
@@ -100,14 +100,14 @@ config OMAP_OSK_MISTRAL
 config MACH_OMAP_PERSEUS2
bool "TI Perseus2"
depends on ARCH_OMAP730
-   help
+   help
  Support for TI OMAP 730 Perseus2 board. Say Y here if you have such
  a board.
 
 config MACH_OMAP_FSAMPLE
bool "TI F-Sample"
depends on ARCH_OMAP730
-   help
+   help
  Support for TI OMAP 850 F-Sample board. Say Y here if you have such
  a board.
 
diff --git a/arch/arm/mach-vt8500/Kconfig b/arch/arm/mach-vt8500/Kconfig
index d01cdd9ad9c7..408e405ae568 100644
--- a/arch/arm/mach-vt8500/Kconfig
+++ b/arch/arm/mach-vt8500/Kconfig
@@ -9,9 +9,9 @@ config ARCH_VT8500
 
 config ARCH_WM8505
bool "VIA/Wondermedia 85xx and WM8650"
-   depends on ARCH_MULTI_V5
-   select ARCH_VT8500
-   select CPU_ARM926T
+   depends on ARCH_MULTI_V5
+   select ARCH_VT8500
+   select CPU_ARM926T
 
 config ARCH_WM8750
bool "WonderMedia WM8750"
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index 35f43d0aa056..7a4a04bafa92 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -123,13 +123,13 @@ config CPU_ARM925T
select CPU_PABRT_LEGACY
select CPU_THUMB_CAPABLE
select CPU_TLB_V4WBI if MMU
-   help
- The ARM925T is a mix between the ARM920T and ARM926T, but with
+   help
+ The ARM925T is a mix between the ARM920T and ARM926T, but with
  different instruction and data caches. It is used in TI's OMAP
- device family.
+ device family.
 
- Say Y if you want support for the ARM925T processor.
- Otherwise, say N.
+ Say Y if you want support for the ARM925T processor.
+ Otherwise, say N.
 
 # ARM926T
 config CPU_ARM926T
diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
index 1fe006f3f12f..0e1e97680f08 100644
--- a/drivers/char/hw_random/Kconfig
+++ b/drivers/char/hw_random/Kconfig
@@ -168,14 +168,14 @@ config HW_RANDOM_OMAP
depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || ARCH_MVEBU
default HW_RANDOM
help
- This driver provides kernel-side support for the Random Number
+ This driver provides kernel-side support for the Random Number
  Generator hardware found on OMAP16xx, OMAP2/3/4/5, AM33xx/AM43xx
  multimedia processors, and Marvell Armada 7k/8k SoCs.
 
  To compile this driver as a module, choose M here: the
  module will be called omap-rng.
 
- If unsure, say Y.
+ If unsure, say Y.
 
 config HW_RANDOM_OMAP3_ROM
tristate "OMAP3 ROM Random Number Generator support"
@@ -485,13 +485,13 @@ config HW_RA