* [PATCH] drm/amd/amdgpu: Properly tune the size of struct
@ 2023-06-20 4:59 Su Hui
2023-06-20 7:37 ` Dan Carpenter
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Su Hui @ 2023-06-20 4:59 UTC (permalink / raw)
To: alexander.deucher, airlied, Xinhui.Pan, daniel
Cc: David.Francis, Jane.Jian, Bokun.Zhang, monk.liu, amd-gfx,
dri-devel, linux-kernel, kernel-janitors, Su Hui
Smatch error:
gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:316:49: error:
static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB"
static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB"
Fixes: 1721bc1b2afa ("drm/amdgpu: Update VF2PF interface")
Signed-off-by: Su Hui <suhui@nfschina.com>
---
drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h b/drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h
index 24d42d24e6a0..a482b422fed2 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h
@@ -177,10 +177,10 @@ struct amd_sriov_msg_pf2vf_info {
uint64_t mecfw_offset;
/* MEC FW size in BYTE */
uint32_t mecfw_size;
- /* UVD FW position in BYTE from the start of VF visible frame buffer */
- uint64_t uvdfw_offset;
/* UVD FW size in BYTE */
uint32_t uvdfw_size;
+ /* UVD FW position in BYTE from the start of VF visible frame buffer */
+ uint64_t uvdfw_offset;
/* VCE FW position in BYTE from the start of VF visible frame buffer */
uint64_t vcefw_offset;
/* VCE FW size in BYTE */
@@ -193,8 +193,8 @@ struct amd_sriov_msg_pf2vf_info {
/* frequency for VF to update the VF2PF area in msec, 0 = manual */
uint32_t vf2pf_update_interval_ms;
/* identification in ROCm SMI */
- uint64_t uuid;
uint32_t fcn_idx;
+ uint64_t uuid;
/* flags to indicate which register access method VF should use */
union amd_sriov_reg_access_flags reg_access_flags;
/* MM BW management */
@@ -263,7 +263,7 @@ struct amd_sriov_msg_vf2pf_info {
struct {
uint8_t id;
uint32_t version;
- } ucode_info[AMD_SRIOV_MSG_RESERVE_UCODE];
+ } __packed ucode_info[AMD_SRIOV_MSG_RESERVE_UCODE];
uint64_t dummy_page_addr;
/* reserved */
--
2.30.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amd/amdgpu: Properly tune the size of struct
2023-06-20 4:59 [PATCH] drm/amd/amdgpu: Properly tune the size of struct Su Hui
@ 2023-06-20 7:37 ` Dan Carpenter
2023-06-20 7:44 ` Dan Carpenter
2023-06-20 7:57 ` Longsuhui
2023-06-21 0:41 ` kernel test robot
` (3 subsequent siblings)
4 siblings, 2 replies; 8+ messages in thread
From: Dan Carpenter @ 2023-06-20 7:37 UTC (permalink / raw)
To: Su Hui
Cc: alexander.deucher, airlied, Xinhui.Pan, daniel, David.Francis,
Jane.Jian, Bokun.Zhang, monk.liu, amd-gfx, dri-devel,
linux-kernel, kernel-janitors
On Tue, Jun 20, 2023 at 12:59:19PM +0800, Su Hui wrote:
> Smatch error:
> gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:316:49: error:
> static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB"
> static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB"
>
I doubt that moving the struct members around is safe. This looks like
it's in a very specific order. So I don't think this patch is correct.
The reason for this false positive this code uses a #pragma to pack the
struct.
#pragma pack(push, 1) // PF2VF / VF2PF data areas are byte packed
Sparse does not support this and Smatch uses Sparse as a parser. The
main reason why Sparse doesn't support this pragma is because Linus
thinks it's gross. You probably didn't even see the #pragma did you?
And anything you can't see is unreadable by definition.
"Mark the associated types properly packed individually, rather than
use the disgusting "pragma pack()" that should never be used."
https://lore.kernel.org/linux-sparse/CAHk-=wi7jGZ+bVbt-UfXOkpEQdHzF3Z2HBjkGdjh8q4dvPPGWQ@mail.gmail.com/
regards,
dan carpenter
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amd/amdgpu: Properly tune the size of struct
2023-06-20 7:37 ` Dan Carpenter
@ 2023-06-20 7:44 ` Dan Carpenter
2023-06-20 7:57 ` Longsuhui
1 sibling, 0 replies; 8+ messages in thread
From: Dan Carpenter @ 2023-06-20 7:44 UTC (permalink / raw)
To: Su Hui
Cc: alexander.deucher, airlied, Xinhui.Pan, daniel, David.Francis,
Jane.Jian, Bokun.Zhang, monk.liu, amd-gfx, dri-devel,
linux-kernel, kernel-janitors
On Tue, Jun 20, 2023 at 10:37:59AM +0300, Dan Carpenter wrote:
> "Mark the associated types properly packed individually, rather than
> use the disgusting "pragma pack()" that should never be used."
>
> https://lore.kernel.org/linux-sparse/CAHk-=wi7jGZ+bVbt-UfXOkpEQdHzF3Z2HBjkGdjh8q4dvPPGWQ@mail.gmail.com/
Marking the structs packed could be very simple.
regards,
dan carpenter
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h b/drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h
index 104a5ad8397d..e29dae04f7e5 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h
@@ -209,7 +209,7 @@ struct amd_sriov_msg_pf2vf_info {
uint32_t pcie_atomic_ops_support_flags;
/* reserved */
uint32_t reserved[256 - AMD_SRIOV_MSG_PF2VF_INFO_FILLED_SIZE];
-};
+} __packed;
struct amd_sriov_msg_vf2pf_info_header {
/* the total structure size in byte */
@@ -262,7 +262,7 @@ struct amd_sriov_msg_vf2pf_info {
struct {
uint8_t id;
uint32_t version;
- } ucode_info[AMD_SRIOV_MSG_RESERVE_UCODE];
+ } __packed ucode_info[AMD_SRIOV_MSG_RESERVE_UCODE];
uint64_t dummy_page_addr;
/* reserved */
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amd/amdgpu: Properly tune the size of struct
2023-06-20 7:37 ` Dan Carpenter
2023-06-20 7:44 ` Dan Carpenter
@ 2023-06-20 7:57 ` Longsuhui
1 sibling, 0 replies; 8+ messages in thread
From: Longsuhui @ 2023-06-20 7:57 UTC (permalink / raw)
To: Dan Carpenter, Su Hui
Cc: alexander.deucher, airlied, Xinhui.Pan, daniel, David.Francis,
Jane.Jian, Bokun.Zhang, monk.liu, amd-gfx, dri-devel,
linux-kernel, kernel-janitors
On 2023/6/20 15:37, Dan Carpenter wrote:
> On Tue, Jun 20, 2023 at 12:59:19PM +0800, Su Hui wrote:
>> Smatch error:
>> gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:316:49: error:
>> static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB"
>> static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB"
>>
> I doubt that moving the struct members around is safe. This looks like
> it's in a very specific order. So I don't think this patch is correct.
>
> The reason for this false positive this code uses a #pragma to pack the
> struct.
>
> #pragma pack(push, 1) // PF2VF / VF2PF data areas are byte packed
Oh, Sorry, I didn't see this code.
This patch is error, and sorry for the noise.
> Sparse does not support this and Smatch uses Sparse as a parser. The
> main reason why Sparse doesn't support this pragma is because Linus
> thinks it's gross. You probably didn't even see the #pragma did you?
> And anything you can't see is unreadable by definition.
>
> "Mark the associated types properly packed individually, rather than
> use the disgusting "pragma pack()" that should never be used."
>
> https://lore.kernel.org/linux-sparse/CAHk-=wi7jGZ+bVbt-UfXOkpEQdHzF3Z2HBjkGdjh8q4dvPPGWQ@mail.gmail.com/
>
> regards,
> dan carpenter
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amd/amdgpu: Properly tune the size of struct
2023-06-20 4:59 [PATCH] drm/amd/amdgpu: Properly tune the size of struct Su Hui
2023-06-20 7:37 ` Dan Carpenter
@ 2023-06-21 0:41 ` kernel test robot
2023-06-23 5:45 ` kernel test robot
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2023-06-21 0:41 UTC (permalink / raw)
To: Su Hui, alexander.deucher, airlied, Xinhui.Pan, daniel
Cc: oe-kbuild-all, David.Francis, Jane.Jian, Bokun.Zhang, monk.liu,
amd-gfx, dri-devel, linux-kernel, kernel-janitors, Su Hui
Hi Su,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on linus/master v6.4-rc7 next-20230620]
[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/Su-Hui/drm-amd-amdgpu-Properly-tune-the-size-of-struct/20230620-130013
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20230620045919.492128-1-suhui%40nfschina.com
patch subject: [PATCH] drm/amd/amdgpu: Properly tune the size of struct
config: csky-randconfig-s041-20230620 (https://download.01.org/0day-ci/archive/20230621/202306210814.EJjpL8Qs-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230621/202306210814.EJjpL8Qs-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306210814.EJjpL8Qs-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:485:29: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:485:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:485:29: sparse: expected void [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:485:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:485:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:485:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:485:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:485:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:485:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:485:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:500:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:500:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:500:21: sparse: expected void [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:500:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:500:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:500:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:500:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:500:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:500:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:500:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:546:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:546:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:546:21: sparse: expected void [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:546:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:546:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:546:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:546:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:546:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:546:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:546:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c: note: in included file (through include/linux/uaccess.h, include/linux/sched/task.h, include/linux/sched/signal.h, ...):
arch/csky/include/asm/uaccess.h:110:17: sparse: sparse: cast removes address space '__user' of expression
arch/csky/include/asm/uaccess.h:110:17: sparse: sparse: asm output is not an lvalue
arch/csky/include/asm/uaccess.h:110:17: sparse: sparse: cast removes address space '__user' of expression
arch/csky/include/asm/uaccess.h:110:17: sparse: sparse: cast removes address space '__user' of expression
arch/csky/include/asm/uaccess.h:110:17: sparse: sparse: asm output is not an lvalue
arch/csky/include/asm/uaccess.h:110:17: sparse: sparse: cast removes address space '__user' of expression
arch/csky/include/asm/uaccess.h:110:17: sparse: sparse: generating address of non-lvalue (11)
arch/csky/include/asm/uaccess.h:110:17: sparse: sparse: generating address of non-lvalue (11)
arch/csky/include/asm/uaccess.h:110:17: sparse: sparse: cast removes address space '__user' of expression
arch/csky/include/asm/uaccess.h:110:17: sparse: sparse: asm output is not an lvalue
arch/csky/include/asm/uaccess.h:110:17: sparse: sparse: cast removes address space '__user' of expression
arch/csky/include/asm/uaccess.h:110:17: sparse: sparse: generating address of non-lvalue (11)
--
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:579:42: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: expected void const [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
--
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: expected void [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: expected void const [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: expected void [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: expected void const [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:330:46: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct amdgpu_debugfs_regs2_iocdata_v2 * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:330:46: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:330:46: sparse: got struct amdgpu_debugfs_regs2_iocdata_v2 *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:336:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct amdgpu_debugfs_regs2_iocdata * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:336:47: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:336:47: sparse: got struct amdgpu_debugfs_regs2_iocdata *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: expected void [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:488:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct amdgpu_debugfs_gprwave_iocdata * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:488:37: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:488:37: sparse: got struct amdgpu_debugfs_gprwave_iocdata *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: expected void [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: expected void const [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: expected void [noderef] __user *__p
--
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:275:21: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:280:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:281:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:306:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:307:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:308:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:314:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:320:28: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:458:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got void *[assigned] ptr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:458:33: sparse: expected void const volatile [noderef] __iomem *
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:458:33: sparse: got void *[assigned] ptr
>> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:487:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem * @@ got void *[assigned] ptr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:487:33: sparse: expected void volatile [noderef] __iomem *
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:487:33: sparse: got void *[assigned] ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:498:42: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:500:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem * @@ got void *cpu_addr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:500:41: sparse: expected void volatile [noderef] __iomem *
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:500:41: sparse: got void *cpu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:500:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:504:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:505:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:507:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem * @@ got void *[assigned] ptr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:507:25: sparse: expected void volatile [noderef] __iomem *
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:507:25: sparse: got void *[assigned] ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:769:35: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1204:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1204:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1204:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1205:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1205:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1205:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1206:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1206:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1206:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1207:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1207:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1207:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1208:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1208:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1208:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1209:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1209:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1209:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1210:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1210:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1210:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1211:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1211:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1211:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1212:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1212:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1212:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1213:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1213:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1213:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1214:17: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1214:17: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1214:17: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1216:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1216:24: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1216:24: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1240:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1240:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1240:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1241:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1241:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1241:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1242:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1242:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1242:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1243:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1243:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1243:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1245:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1245:24: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1245:24: sparse: got restricted __le32 [usertype]
--
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:574:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got void *ptr @@
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:574:25: sparse: expected void const volatile [noderef] __iomem *
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:574:25: sparse: got void *ptr
>> drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:623:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem * @@ got void *ptr @@
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:623:25: sparse: expected void volatile [noderef] __iomem *
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:623:25: sparse: got void *ptr
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:1081:27: sparse: sparse: symbol 'vce_v4_0_ip_funcs' was not declared. Should it be static?
--
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:171:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:309:18: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:312:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem * @@ got void *[addressable] cpu_addr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:312:17: sparse: expected void volatile [noderef] __iomem *
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:312:17: sparse: got void *[addressable] cpu_addr
--
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:139:32: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:147:21: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:151:26: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:152:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:154:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:155:24: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:161:29: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:162:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:163:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:170:28: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:311:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got void *[assigned] ptr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:311:25: sparse: expected void const volatile [noderef] __iomem *
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:311:25: sparse: got void *[assigned] ptr
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:335:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem * @@ got void *[assigned] ptr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:335:33: sparse: expected void volatile [noderef] __iomem *
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:335:33: sparse: got void *[assigned] ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:346:42: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:348:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem * @@ got void *cpu_addr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:348:41: sparse: expected void volatile [noderef] __iomem *
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:348:41: sparse: got void *cpu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:348:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:352:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:353:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:355:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem * @@ got void *[assigned] ptr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:355:25: sparse: expected void volatile [noderef] __iomem *
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:355:25: sparse: got void *[assigned] ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:583:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:583:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:583:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:584:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:584:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:584:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:585:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:585:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:585:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:586:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:586:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:586:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:587:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:587:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:587:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:588:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:588:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:588:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:589:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:589:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:589:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:590:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:590:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:590:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:591:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:591:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:591:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:592:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:592:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:592:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:593:17: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:593:17: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:593:17: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:594:17: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:594:17: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:594:17: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:595:17: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:595:17: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:595:17: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:596:17: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:596:17: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:596:17: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:598:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:598:24: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:598:24: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:618:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:618:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:618:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:619:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:619:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:619:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:620:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:620:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:620:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:621:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:621:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:621:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:622:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:622:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:622:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:623:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:623:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:623:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:625:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:625:24: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:625:24: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:728:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:728:34: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:728:34: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:733:39: sparse: sparse: invalid assignment: |=
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:733:39: sparse: left side has type unsigned int
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:733:39: sparse: right side has type restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:734:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] msg_buffer_address_hi @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:734:46: sparse: expected unsigned int [usertype] msg_buffer_address_hi
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:734:46: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:735:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] msg_buffer_address_lo @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:735:46: sparse: expected unsigned int [usertype] msg_buffer_address_lo
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:735:46: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:1047:33: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:1047:33: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:1047:33: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:1151:15: sparse: sparse: invalid assignment: |=
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:1151:15: sparse: left side has type unsigned int
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:1151:15: sparse: right side has type restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:1153:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int volatile [usertype] addr_lo @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:1153:25: sparse: expected unsigned int volatile [usertype] addr_lo
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:1153:25: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:1154:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int volatile [usertype] addr_hi @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:1154:25: sparse: expected unsigned int volatile [usertype] addr_hi
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:1154:25: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:1155:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int volatile [usertype] size @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:1155:22: sparse: expected unsigned int volatile [usertype] size
--
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu7_smumgr.c:65:25: sparse: sparse: cast to restricted __be32
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu7_smumgr.c:74:26: sparse: sparse: cast to restricted __be32
>> drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu7_smumgr.c:411:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem * @@ got void *kaddr @@
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu7_smumgr.c:411:9: sparse: expected void volatile [noderef] __iomem *
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu7_smumgr.c:411:9: sparse: got void *kaddr
vim +485 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
d38ceaf99ed015 Alex Deucher 2015-04-20 460
4f4824b55650fa Tom St Denis 2016-04-27 461 /* Layout of file is 12 bytes consisting of
4f4824b55650fa Tom St Denis 2016-04-27 462 * - rptr
4f4824b55650fa Tom St Denis 2016-04-27 463 * - wptr
4f4824b55650fa Tom St Denis 2016-04-27 464 * - driver's copy of wptr
4f4824b55650fa Tom St Denis 2016-04-27 465 *
4f4824b55650fa Tom St Denis 2016-04-27 466 * followed by n-words of ring data
4f4824b55650fa Tom St Denis 2016-04-27 467 */
4f4824b55650fa Tom St Denis 2016-04-27 468 static ssize_t amdgpu_debugfs_ring_read(struct file *f, char __user *buf,
4f4824b55650fa Tom St Denis 2016-04-27 469 size_t size, loff_t *pos)
d38ceaf99ed015 Alex Deucher 2015-04-20 470 {
450630975da9e7 Al Viro 2016-12-04 471 struct amdgpu_ring *ring = file_inode(f)->i_private;
4f4824b55650fa Tom St Denis 2016-04-27 472 int r, i;
4f4824b55650fa Tom St Denis 2016-04-27 473 uint32_t value, result, early[3];
d38ceaf99ed015 Alex Deucher 2015-04-20 474
c71dbd93eb0039 Tom St Denis 2016-05-02 475 if (*pos & 3 || size & 3)
4f4824b55650fa Tom St Denis 2016-04-27 476 return -EINVAL;
d38ceaf99ed015 Alex Deucher 2015-04-20 477
4f4824b55650fa Tom St Denis 2016-04-27 478 result = 0;
c7e6be2303d0b6 Christian König 2016-01-21 479
4f4824b55650fa Tom St Denis 2016-04-27 480 if (*pos < 12) {
9c5c71bbed4132 Tom St Denis 2018-03-01 481 early[0] = amdgpu_ring_get_rptr(ring) & ring->buf_mask;
ec63982e90a879 Tom St Denis 2017-03-29 482 early[1] = amdgpu_ring_get_wptr(ring) & ring->buf_mask;
ec63982e90a879 Tom St Denis 2017-03-29 483 early[2] = ring->wptr & ring->buf_mask;
4f4824b55650fa Tom St Denis 2016-04-27 484 for (i = *pos / 4; i < 3 && size; i++) {
4f4824b55650fa Tom St Denis 2016-04-27 @485 r = put_user(early[i], (uint32_t *)buf);
4f4824b55650fa Tom St Denis 2016-04-27 486 if (r)
4f4824b55650fa Tom St Denis 2016-04-27 487 return r;
4f4824b55650fa Tom St Denis 2016-04-27 488 buf += 4;
4f4824b55650fa Tom St Denis 2016-04-27 489 result += 4;
4f4824b55650fa Tom St Denis 2016-04-27 490 size -= 4;
4f4824b55650fa Tom St Denis 2016-04-27 491 *pos += 4;
4f4824b55650fa Tom St Denis 2016-04-27 492 }
4f4824b55650fa Tom St Denis 2016-04-27 493 }
d38ceaf99ed015 Alex Deucher 2015-04-20 494
4f4824b55650fa Tom St Denis 2016-04-27 495 while (size) {
4f4824b55650fa Tom St Denis 2016-04-27 496 if (*pos >= (ring->ring_size + 12))
4f4824b55650fa Tom St Denis 2016-04-27 497 return result;
d38ceaf99ed015 Alex Deucher 2015-04-20 498
4f4824b55650fa Tom St Denis 2016-04-27 499 value = ring->ring[(*pos - 12)/4];
4f4824b55650fa Tom St Denis 2016-04-27 500 r = put_user(value, (uint32_t *)buf);
4f4824b55650fa Tom St Denis 2016-04-27 501 if (r)
4f4824b55650fa Tom St Denis 2016-04-27 502 return r;
4f4824b55650fa Tom St Denis 2016-04-27 503 buf += 4;
4f4824b55650fa Tom St Denis 2016-04-27 504 result += 4;
4f4824b55650fa Tom St Denis 2016-04-27 505 size -= 4;
4f4824b55650fa Tom St Denis 2016-04-27 506 *pos += 4;
d38ceaf99ed015 Alex Deucher 2015-04-20 507 }
4f4824b55650fa Tom St Denis 2016-04-27 508
4f4824b55650fa Tom St Denis 2016-04-27 509 return result;
d38ceaf99ed015 Alex Deucher 2015-04-20 510 }
d38ceaf99ed015 Alex Deucher 2015-04-20 511
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amd/amdgpu: Properly tune the size of struct
2023-06-20 4:59 [PATCH] drm/amd/amdgpu: Properly tune the size of struct Su Hui
2023-06-20 7:37 ` Dan Carpenter
2023-06-21 0:41 ` kernel test robot
@ 2023-06-23 5:45 ` kernel test robot
2023-06-23 12:25 ` kernel test robot
2023-06-25 21:15 ` kernel test robot
4 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2023-06-23 5:45 UTC (permalink / raw)
To: Su Hui, alexander.deucher, airlied, Xinhui.Pan, daniel
Cc: oe-kbuild-all, David.Francis, Jane.Jian, Bokun.Zhang, monk.liu,
amd-gfx, dri-devel, linux-kernel, kernel-janitors, Su Hui
Hi Su,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on linus/master v6.4-rc7 next-20230622]
[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/Su-Hui/drm-amd-amdgpu-Properly-tune-the-size-of-struct/20230620-130013
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20230620045919.492128-1-suhui%40nfschina.com
patch subject: [PATCH] drm/amd/amdgpu: Properly tune the size of struct
config: microblaze-randconfig-s032-20230622 (https://download.01.org/0day-ci/archive/20230623/202306231320.jElZhRjj-lkp@intel.com/config)
compiler: microblaze-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230623/202306231320.jElZhRjj-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306231320.jElZhRjj-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:579:42: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__gu_ptr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: expected unsigned int const [noderef] __user *__gu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: got unsigned int [usertype] *
--
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__pu_addr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: expected unsigned int [noderef] __user *__pu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__gu_ptr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: expected unsigned int const [noderef] __user *__gu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__pu_addr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: expected unsigned int [noderef] __user *__pu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__gu_ptr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: expected unsigned int const [noderef] __user *__gu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:330:46: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct amdgpu_debugfs_regs2_iocdata_v2 * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:330:46: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:330:46: sparse: got struct amdgpu_debugfs_regs2_iocdata_v2 *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:336:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct amdgpu_debugfs_regs2_iocdata * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:336:47: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:336:47: sparse: got struct amdgpu_debugfs_regs2_iocdata *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__pu_addr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: expected unsigned int [noderef] __user *__pu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:488:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct amdgpu_debugfs_gprwave_iocdata * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:488:37: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:488:37: sparse: got struct amdgpu_debugfs_gprwave_iocdata *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__pu_addr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: expected unsigned int [noderef] __user *__pu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__gu_ptr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: expected unsigned int const [noderef] __user *__gu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__pu_addr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: expected unsigned int [noderef] __user *__pu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:711:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:711:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:711:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__gu_ptr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:711:21: sparse: expected unsigned int const [noderef] __user *__gu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:711:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:769:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:769:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:769:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:769:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__pu_addr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:769:21: sparse: expected unsigned int [noderef] __user *__pu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:769:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:769:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:769:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:824:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:824:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:824:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__gu_ptr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:824:21: sparse: expected unsigned int const [noderef] __user *__gu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:824:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:925:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:925:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:925:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:925:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__pu_addr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:925:21: sparse: expected unsigned int [noderef] __user *__pu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:925:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:925:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:925:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1003:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1003:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1003:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1003:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected signed int [noderef] __user *__pu_addr @@ got signed int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1003:29: sparse: expected signed int [noderef] __user *__pu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1003:29: sparse: got signed int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1003:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1003:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1089:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1089:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1089:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1089:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__pu_addr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1089:21: sparse: expected unsigned int [noderef] __user *__pu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1089:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1089:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1089:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1182:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1182:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1182:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1182:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__pu_addr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1182:21: sparse: expected unsigned int [noderef] __user *__pu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1182:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1182:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1182:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1237:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1237:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1237:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1237:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__pu_addr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1237:21: sparse: expected unsigned int [noderef] __user *__pu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1237:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1237:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1237:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1284:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1284:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1284:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__gu_ptr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1284:21: sparse: expected unsigned int const [noderef] __user *__gu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1284:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1336:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1336:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1336:21: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1336:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long long [noderef] __user *__pu_addr @@ got unsigned long long [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1336:21: sparse: expected unsigned long long [noderef] __user *__pu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1336:21: sparse: got unsigned long long [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1336:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1336:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1383:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1383:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1383:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__gu_ptr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1383:21: sparse: expected unsigned int const [noderef] __user *__gu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1383:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1431:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1431:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1431:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1431:21: sparse: sparse: too many warnings
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1808:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1808:25: sparse: struct dma_fence [noderef] __rcu *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1808:25: sparse: struct dma_fence *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1809:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1809:17: sparse: struct dma_fence [noderef] __rcu *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1809:17: sparse: struct dma_fence *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1868:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1868:17: sparse: struct dma_fence [noderef] __rcu *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1868:17: sparse: struct dma_fence *
--
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:479:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] pixclk_100hz @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:479:34: sparse: expected unsigned int [addressable] [assigned] [usertype] pixclk_100hz
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:479:34: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:575:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] h_size @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:575:23: sparse: expected unsigned short [assigned] [usertype] h_size
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:575:23: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:577:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] h_blanking_time @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:577:32: sparse: expected unsigned short [assigned] [usertype] h_blanking_time
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:577:32: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:581:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] v_size @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:581:23: sparse: expected unsigned short [assigned] [usertype] v_size
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:581:23: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:583:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] v_blanking_time @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:583:32: sparse: expected unsigned short [assigned] [usertype] v_blanking_time
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:583:32: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:590:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] h_syncoffset @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:590:29: sparse: expected unsigned short [assigned] [usertype] h_syncoffset
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:590:29: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:593:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] h_syncwidth @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:593:28: sparse: expected unsigned short [assigned] [usertype] h_syncwidth
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:593:28: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:598:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] v_syncoffset @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:598:29: sparse: expected unsigned short [assigned] [usertype] v_syncoffset
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:598:29: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:601:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] v_syncwidth @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:601:28: sparse: expected unsigned short [assigned] [usertype] v_syncwidth
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:601:28: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:610:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:609:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] modemiscinfo @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:609:37: sparse: expected unsigned short [assigned] [usertype] modemiscinfo
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:609:37: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:615:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:614:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] modemiscinfo @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:614:37: sparse: expected unsigned short [assigned] [usertype] modemiscinfo
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:614:37: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:620:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:619:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] modemiscinfo @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:619:37: sparse: expected unsigned short [assigned] [usertype] modemiscinfo
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:619:37: sparse: got restricted __le16 [usertype]
>> drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:638:39: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __le16 [usertype] *var @@ got unsigned short * @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:638:39: sparse: expected restricted __le16 [usertype] *var
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:638:39: sparse: got unsigned short *
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:644:25: sparse: sparse: cast to restricted __le16
>> drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:643:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] modemiscinfo @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:643:37: sparse: expected unsigned short [addressable] [assigned] [usertype] modemiscinfo
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:643:37: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:915:43: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] dceclk_10khz @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:915:43: sparse: expected unsigned int [addressable] [assigned] [usertype] dceclk_10khz
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:915:43: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:924:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:924:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:924:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:924:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:924:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:924:53: sparse: sparse: cast to restricted __le32
vim +2347 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
d38ceaf99ed015 Alex Deucher 2015-04-20 2322
75501872b4af93 Lee Jones 2020-11-12 2323 /*
50da51744f005f Tom St Denis 2018-05-09 2324 * amdgpu_ttm_vram_write - Linear write access to VRAM
50da51744f005f Tom St Denis 2018-05-09 2325 *
50da51744f005f Tom St Denis 2018-05-09 2326 * Accesses VRAM via MMIO for debugging purposes.
50da51744f005f Tom St Denis 2018-05-09 2327 */
08cab989f77582 Tom St Denis 2017-08-29 2328 static ssize_t amdgpu_ttm_vram_write(struct file *f, const char __user *buf,
08cab989f77582 Tom St Denis 2017-08-29 2329 size_t size, loff_t *pos)
08cab989f77582 Tom St Denis 2017-08-29 2330 {
08cab989f77582 Tom St Denis 2017-08-29 2331 struct amdgpu_device *adev = file_inode(f)->i_private;
08cab989f77582 Tom St Denis 2017-08-29 2332 ssize_t result = 0;
08cab989f77582 Tom St Denis 2017-08-29 2333 int r;
08cab989f77582 Tom St Denis 2017-08-29 2334
08cab989f77582 Tom St Denis 2017-08-29 2335 if (size & 0x3 || *pos & 0x3)
08cab989f77582 Tom St Denis 2017-08-29 2336 return -EINVAL;
08cab989f77582 Tom St Denis 2017-08-29 2337
770d13b19fdf36 Christian König 2018-01-12 2338 if (*pos >= adev->gmc.mc_vram_size)
08cab989f77582 Tom St Denis 2017-08-29 2339 return -ENXIO;
08cab989f77582 Tom St Denis 2017-08-29 2340
08cab989f77582 Tom St Denis 2017-08-29 2341 while (size) {
08cab989f77582 Tom St Denis 2017-08-29 2342 uint32_t value;
08cab989f77582 Tom St Denis 2017-08-29 2343
770d13b19fdf36 Christian König 2018-01-12 2344 if (*pos >= adev->gmc.mc_vram_size)
08cab989f77582 Tom St Denis 2017-08-29 2345 return result;
08cab989f77582 Tom St Denis 2017-08-29 2346
08cab989f77582 Tom St Denis 2017-08-29 @2347 r = get_user(value, (uint32_t *)buf);
08cab989f77582 Tom St Denis 2017-08-29 2348 if (r)
08cab989f77582 Tom St Denis 2017-08-29 2349 return r;
08cab989f77582 Tom St Denis 2017-08-29 2350
5fb95aa73f3c8d Kevin Wang 2021-07-15 2351 amdgpu_device_mm_access(adev, *pos, &value, 4, true);
08cab989f77582 Tom St Denis 2017-08-29 2352
08cab989f77582 Tom St Denis 2017-08-29 2353 result += 4;
08cab989f77582 Tom St Denis 2017-08-29 2354 buf += 4;
08cab989f77582 Tom St Denis 2017-08-29 2355 *pos += 4;
08cab989f77582 Tom St Denis 2017-08-29 2356 size -= 4;
08cab989f77582 Tom St Denis 2017-08-29 2357 }
08cab989f77582 Tom St Denis 2017-08-29 2358
08cab989f77582 Tom St Denis 2017-08-29 2359 return result;
08cab989f77582 Tom St Denis 2017-08-29 2360 }
08cab989f77582 Tom St Denis 2017-08-29 2361
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amd/amdgpu: Properly tune the size of struct
2023-06-20 4:59 [PATCH] drm/amd/amdgpu: Properly tune the size of struct Su Hui
` (2 preceding siblings ...)
2023-06-23 5:45 ` kernel test robot
@ 2023-06-23 12:25 ` kernel test robot
2023-06-25 21:15 ` kernel test robot
4 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2023-06-23 12:25 UTC (permalink / raw)
To: Su Hui, alexander.deucher, airlied, Xinhui.Pan, daniel
Cc: oe-kbuild-all, David.Francis, Jane.Jian, Bokun.Zhang, monk.liu,
amd-gfx, dri-devel, linux-kernel, kernel-janitors, Su Hui
Hi Su,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on linus/master v6.4-rc7 next-20230623]
[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/Su-Hui/drm-amd-amdgpu-Properly-tune-the-size-of-struct/20230620-130013
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20230620045919.492128-1-suhui%40nfschina.com
patch subject: [PATCH] drm/amd/amdgpu: Properly tune the size of struct
config: riscv-randconfig-s032-20230622 (https://download.01.org/0day-ci/archive/20230623/202306232056.UoCMpRUZ-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230623/202306232056.UoCMpRUZ-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306232056.UoCMpRUZ-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:914:43: sparse: expected unsigned int [addressable] [assigned] [usertype] ulSymClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:914:43: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:991:40: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usRefDiv @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:991:40: sparse: expected unsigned short [addressable] [assigned] [usertype] usRefDiv
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:991:40: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:993:39: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usFbDiv @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:993:39: sparse: expected unsigned short [addressable] [assigned] [usertype] usFbDiv
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:993:39: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1001:44: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1001:44: sparse: expected unsigned short [addressable] [assigned] [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1001:44: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1064:40: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usFbDiv @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1064:40: sparse: expected unsigned short [addressable] [assigned] [usertype] usFbDiv
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1064:40: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1066:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] ulFbDivDecFrac @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1066:47: sparse: expected unsigned int [addressable] [assigned] [usertype] ulFbDivDecFrac
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1066:47: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1079:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1079:45: sparse: expected unsigned short [addressable] [assigned] [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1079:45: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1153:40: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usFbDiv @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1153:40: sparse: expected unsigned short [addressable] [assigned] [usertype] usFbDiv
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1153:40: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1155:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] ulFbDivDecFrac @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1155:47: sparse: expected unsigned int [addressable] [assigned] [usertype] ulFbDivDecFrac
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1155:47: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1168:60: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] ulPixelClock:24 @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1168:60: sparse: expected unsigned int [addressable] [assigned] [usertype] ulPixelClock:24
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1168:60: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1245:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] ulPixelClock @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1245:34: sparse: expected unsigned int [addressable] [assigned] [usertype] ulPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1245:34: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1334:43: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumPercentage @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1334:43: sparse: expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumPercentage
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1334:43: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1383:51: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumPercentage @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1383:51: sparse: expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumPercentage
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1383:51: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1385:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumStep @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1385:45: sparse: expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumStep
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1385:45: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1399:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumAmount @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1399:47: sparse: expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumAmount
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1399:47: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1453:51: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumAmountFrac @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1453:51: sparse: expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumAmountFrac
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1453:51: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1455:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumStep @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1455:45: sparse: expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumStep
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1455:45: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1468:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumAmount @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1468:47: sparse: expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumAmount
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1468:47: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1527:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1527:29: sparse: expected unsigned short [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1527:29: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1541:43: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1571:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1571:36: sparse: expected unsigned short [addressable] [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1571:36: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1591:43: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1666:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1666:30: sparse: expected unsigned short [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1666:30: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1909:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_Size @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1909:25: sparse: expected unsigned short [assigned] [usertype] usH_Size
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1909:25: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1911:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_Blanking_Time @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1911:34: sparse: expected unsigned short [assigned] [usertype] usH_Blanking_Time
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1911:34: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1914:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_Size @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1914:25: sparse: expected unsigned short [assigned] [usertype] usV_Size
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1914:25: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1916:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_Blanking_Time @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1916:34: sparse: expected unsigned short [assigned] [usertype] usV_Blanking_Time
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1916:34: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1921:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_SyncOffset @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1921:31: sparse: expected unsigned short [assigned] [usertype] usH_SyncOffset
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1921:31: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1923:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_SyncWidth @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1923:30: sparse: expected unsigned short [assigned] [usertype] usH_SyncWidth
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1923:30: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1927:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_SyncOffset @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1927:31: sparse: expected unsigned short [assigned] [usertype] usV_SyncOffset
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1927:31: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1929:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_SyncWidth @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1929:30: sparse: expected unsigned short [assigned] [usertype] usV_SyncWidth
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1929:30: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1938:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1937:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1937:49: sparse: expected unsigned short [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1937:49: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1942:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1941:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1941:49: sparse: expected unsigned short [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1941:49: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1946:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1945:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1945:49: sparse: expected unsigned short [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1945:49: sparse: got restricted __le16 [usertype]
>> drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1963:39: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __le16 [usertype] *var @@ got unsigned short * @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1963:39: sparse: expected restricted __le16 [usertype] *var
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1963:39: sparse: got unsigned short *
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1969:33: sparse: sparse: cast to restricted __le16
>> drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1968:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1968:49: sparse: expected unsigned short [addressable] [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1968:49: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1835:26: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_Total @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1835:26: sparse: expected unsigned short [assigned] [usertype] usH_Total
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1835:26: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1836:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_Disp @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1836:25: sparse: expected unsigned short [assigned] [usertype] usH_Disp
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1836:25: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1837:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_SyncStart @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1837:30: sparse: expected unsigned short [assigned] [usertype] usH_SyncStart
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1837:30: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1838:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_SyncWidth @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1838:30: sparse: expected unsigned short [assigned] [usertype] usH_SyncWidth
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1838:30: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1839:26: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_Total @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1839:26: sparse: expected unsigned short [assigned] [usertype] usV_Total
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1839:26: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1840:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_Disp @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1840:25: sparse: expected unsigned short [assigned] [usertype] usV_Disp
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1840:25: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1841:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_SyncStart @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1841:30: sparse: expected unsigned short [assigned] [usertype] usV_SyncStart
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1841:30: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1843:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_SyncWidth @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1843:30: sparse: expected unsigned short [assigned] [usertype] usV_SyncWidth
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1843:30: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1859:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1858:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1858:49: sparse: expected unsigned short [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1858:49: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1863:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1862:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1862:49: sparse: expected unsigned short [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1862:49: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1867:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1866:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1866:49: sparse: expected unsigned short [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1866:49: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1882:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_SyncStart @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1882:38: sparse: expected unsigned short [assigned] [usertype] usV_SyncStart
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1882:38: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1888:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1887:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1887:49: sparse: expected unsigned short [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1887:49: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2130:40: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2130:40: sparse: expected unsigned short [addressable] [assigned] [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2130:40: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2162:44: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] ulDispEngClkFreq @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2162:44: sparse: expected unsigned int [addressable] [assigned] [usertype] ulDispEngClkFreq
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2162:44: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2175:44: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2257:44: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] usConnectorId @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2257:44: sparse: expected unsigned short [usertype] usConnectorId
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2257:44: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2266:43: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2266:43: sparse: expected unsigned short [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2266:43: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2290:43: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2290:43: sparse: expected unsigned short [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2290:43: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2423:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] ulDCEClkFreq @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2423:45: sparse: expected unsigned int [addressable] [assigned] [usertype] ulDCEClkFreq
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2423:45: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2427:53: sparse: sparse: cast to restricted __le32
--
WARNING: invalid argument to '-march': '_zihintpause'
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:485:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:485:29: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:485:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:485:29: sparse: expected unsigned int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:485:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:500:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:500:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:500:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:500:21: sparse: expected unsigned int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:500:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:546:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:546:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:546:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:546:21: sparse: expected unsigned int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:546:21: sparse: got unsigned int [usertype] *
--
WARNING: invalid argument to '-march': '_zihintpause'
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:579:42: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: expected unsigned int const [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2347:21: sparse: got unsigned int [usertype] *
--
WARNING: invalid argument to '-march': '_zihintpause'
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: expected unsigned int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:153:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: expected unsigned int const [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:155:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: expected unsigned int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:282:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: expected unsigned int const [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:284:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:330:46: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct amdgpu_debugfs_regs2_iocdata_v2 * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:330:46: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:330:46: sparse: got struct amdgpu_debugfs_regs2_iocdata_v2 *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:336:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct amdgpu_debugfs_regs2_iocdata * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:336:47: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:336:47: sparse: got struct amdgpu_debugfs_regs2_iocdata *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: expected unsigned int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:460:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:488:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct amdgpu_debugfs_gprwave_iocdata * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:488:37: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:488:37: sparse: got struct amdgpu_debugfs_gprwave_iocdata *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: expected unsigned int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:543:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: expected unsigned int const [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:598:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: expected unsigned int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:656:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:711:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:711:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:711:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:711:21: sparse: expected unsigned int const [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:711:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:769:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:769:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:769:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:769:21: sparse: expected unsigned int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:769:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:824:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:824:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:824:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:824:21: sparse: expected unsigned int const [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:824:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:925:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:925:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:925:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:925:21: sparse: expected unsigned int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:925:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1003:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1003:29: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1003:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected signed int [noderef] __user *__p @@ got signed int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1003:29: sparse: expected signed int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1003:29: sparse: got signed int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1089:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1089:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1089:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1089:21: sparse: expected unsigned int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1089:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1182:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1182:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1182:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1182:21: sparse: expected unsigned int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1182:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1237:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1237:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1237:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1237:21: sparse: expected unsigned int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1237:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1284:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1284:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1284:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1284:21: sparse: expected unsigned int const [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1284:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1336:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1336:21: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1336:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long long [noderef] __user *__p @@ got unsigned long long [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1336:21: sparse: expected unsigned long long [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1336:21: sparse: got unsigned long long [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1383:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1383:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1383:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1383:21: sparse: expected unsigned int const [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1383:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1431:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1431:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1431:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1431:21: sparse: expected unsigned int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1431:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1472:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1472:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1472:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] __user *__p @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1472:21: sparse: expected unsigned int [noderef] __user *__p
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1472:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1808:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1808:25: sparse: struct dma_fence [noderef] __rcu *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1808:25: sparse: struct dma_fence *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1809:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1809:17: sparse: struct dma_fence [noderef] __rcu *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1809:17: sparse: struct dma_fence *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1860:23: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1868:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1868:17: sparse: struct dma_fence [noderef] __rcu *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1868:17: sparse: struct dma_fence *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1903:32: sparse: sparse: cast to restricted __le32
--
WARNING: invalid argument to '-march': '_zihintpause'
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:159:52: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char const * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:159:52: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:159:52: sparse: got char const *
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:165:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char const * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:165:55: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:165:55: sparse: got char const *
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:174:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char const * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:174:48: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:174:48: sparse: got char const *
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:231:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got char * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:231:27: sparse: expected void [noderef] __user *to
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:231:27: sparse: got char *
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:258:52: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char const * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:258:52: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:258:52: sparse: got char const *
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:264:50: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char const * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:264:50: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:264:50: sparse: got char const *
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:307:52: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char const * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:307:52: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:307:52: sparse: got char const *
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:312:50: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char const * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:312:50: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:312:50: sparse: got char const *
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:317:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char const * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:317:51: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:317:51: sparse: got char const *
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:322:59: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char const * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:322:59: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:322:59: sparse: got char const *
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:330:52: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char const * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:330:52: sparse: expected void const [noderef] __user *from
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:330:52: sparse: got char const *
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:365:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got char * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:365:27: sparse: expected void [noderef] __user *to
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:365:27: sparse: got char *
>> drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:87:19: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces)) @@ expected long ( *write )( ... ) @@ got long ( * )( ... ) @@
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:87:19: sparse: expected long ( *write )( ... )
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:87:19: sparse: got long ( * )( ... )
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:93:19: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces)) @@ expected long ( *write )( ... ) @@ got long ( * )( ... ) @@
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:93:19: sparse: expected long ( *write )( ... )
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:93:19: sparse: got long ( * )( ... )
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:99:19: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces)) @@ expected long ( *write )( ... ) @@ got long ( * )( ... ) @@
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:99:19: sparse: expected long ( *write )( ... )
drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c:99:19: sparse: got long ( * )( ... )
vim +1963 drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c
4562236b3bc0a2 Harry Wentland 2017-09-12 1895
4562236b3bc0a2 Harry Wentland 2017-09-12 1896 static enum bp_result set_crtc_using_dtd_timing_v3(
4562236b3bc0a2 Harry Wentland 2017-09-12 1897 struct bios_parser *bp,
4562236b3bc0a2 Harry Wentland 2017-09-12 1898 struct bp_hw_crtc_timing_parameters *bp_params)
4562236b3bc0a2 Harry Wentland 2017-09-12 1899 {
4562236b3bc0a2 Harry Wentland 2017-09-12 1900 enum bp_result result = BP_RESULT_FAILURE;
4562236b3bc0a2 Harry Wentland 2017-09-12 1901 SET_CRTC_USING_DTD_TIMING_PARAMETERS params = {0};
4562236b3bc0a2 Harry Wentland 2017-09-12 1902 uint8_t atom_controller_id;
4562236b3bc0a2 Harry Wentland 2017-09-12 1903
4562236b3bc0a2 Harry Wentland 2017-09-12 1904 if (bp->cmd_helper->controller_id_to_atom(
4562236b3bc0a2 Harry Wentland 2017-09-12 1905 bp_params->controller_id, &atom_controller_id))
4562236b3bc0a2 Harry Wentland 2017-09-12 1906 params.ucCRTC = atom_controller_id;
4562236b3bc0a2 Harry Wentland 2017-09-12 1907
4562236b3bc0a2 Harry Wentland 2017-09-12 1908 /* bios usH_Size wants h addressable size */
4562236b3bc0a2 Harry Wentland 2017-09-12 1909 params.usH_Size = cpu_to_le16((uint16_t)bp_params->h_addressable);
4562236b3bc0a2 Harry Wentland 2017-09-12 1910 /* bios usH_Blanking_Time wants borders included in blanking */
4562236b3bc0a2 Harry Wentland 2017-09-12 1911 params.usH_Blanking_Time =
4562236b3bc0a2 Harry Wentland 2017-09-12 1912 cpu_to_le16((uint16_t)(bp_params->h_total - bp_params->h_addressable));
4562236b3bc0a2 Harry Wentland 2017-09-12 1913 /* bios usV_Size wants v addressable size */
4562236b3bc0a2 Harry Wentland 2017-09-12 1914 params.usV_Size = cpu_to_le16((uint16_t)bp_params->v_addressable);
4562236b3bc0a2 Harry Wentland 2017-09-12 1915 /* bios usV_Blanking_Time wants borders included in blanking */
4562236b3bc0a2 Harry Wentland 2017-09-12 1916 params.usV_Blanking_Time =
4562236b3bc0a2 Harry Wentland 2017-09-12 1917 cpu_to_le16((uint16_t)(bp_params->v_total - bp_params->v_addressable));
4562236b3bc0a2 Harry Wentland 2017-09-12 1918 /* bios usHSyncOffset is the offset from the end of h addressable,
4562236b3bc0a2 Harry Wentland 2017-09-12 1919 * our horizontalSyncStart is the offset from the beginning
4562236b3bc0a2 Harry Wentland 2017-09-12 1920 * of h addressable */
4562236b3bc0a2 Harry Wentland 2017-09-12 1921 params.usH_SyncOffset =
4562236b3bc0a2 Harry Wentland 2017-09-12 1922 cpu_to_le16((uint16_t)(bp_params->h_sync_start - bp_params->h_addressable));
4562236b3bc0a2 Harry Wentland 2017-09-12 1923 params.usH_SyncWidth = cpu_to_le16((uint16_t)bp_params->h_sync_width);
4562236b3bc0a2 Harry Wentland 2017-09-12 1924 /* bios usHSyncOffset is the offset from the end of v addressable,
4562236b3bc0a2 Harry Wentland 2017-09-12 1925 * our verticalSyncStart is the offset from the beginning of
4562236b3bc0a2 Harry Wentland 2017-09-12 1926 * v addressable */
4562236b3bc0a2 Harry Wentland 2017-09-12 1927 params.usV_SyncOffset =
4562236b3bc0a2 Harry Wentland 2017-09-12 1928 cpu_to_le16((uint16_t)(bp_params->v_sync_start - bp_params->v_addressable));
4562236b3bc0a2 Harry Wentland 2017-09-12 1929 params.usV_SyncWidth = cpu_to_le16((uint16_t)bp_params->v_sync_width);
4562236b3bc0a2 Harry Wentland 2017-09-12 1930
4562236b3bc0a2 Harry Wentland 2017-09-12 1931 /* we assume that overscan from original timing does not get bigger
4562236b3bc0a2 Harry Wentland 2017-09-12 1932 * than 255
4562236b3bc0a2 Harry Wentland 2017-09-12 1933 * we will program all the borders in the Set CRTC Overscan call below
4562236b3bc0a2 Harry Wentland 2017-09-12 1934 */
4562236b3bc0a2 Harry Wentland 2017-09-12 1935
4562236b3bc0a2 Harry Wentland 2017-09-12 1936 if (0 == bp_params->flags.HSYNC_POSITIVE_POLARITY)
4562236b3bc0a2 Harry Wentland 2017-09-12 1937 params.susModeMiscInfo.usAccess =
4562236b3bc0a2 Harry Wentland 2017-09-12 1938 cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_HSYNC_POLARITY);
4562236b3bc0a2 Harry Wentland 2017-09-12 1939
4562236b3bc0a2 Harry Wentland 2017-09-12 1940 if (0 == bp_params->flags.VSYNC_POSITIVE_POLARITY)
4562236b3bc0a2 Harry Wentland 2017-09-12 1941 params.susModeMiscInfo.usAccess =
4562236b3bc0a2 Harry Wentland 2017-09-12 1942 cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_VSYNC_POLARITY);
4562236b3bc0a2 Harry Wentland 2017-09-12 1943
4562236b3bc0a2 Harry Wentland 2017-09-12 1944 if (bp_params->flags.INTERLACE) {
4562236b3bc0a2 Harry Wentland 2017-09-12 1945 params.susModeMiscInfo.usAccess =
4562236b3bc0a2 Harry Wentland 2017-09-12 1946 cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_INTERLACE);
4562236b3bc0a2 Harry Wentland 2017-09-12 1947
4562236b3bc0a2 Harry Wentland 2017-09-12 1948 /* original DAL code has this condition to apply this
4562236b3bc0a2 Harry Wentland 2017-09-12 1949 * for non-TV/CV only
4562236b3bc0a2 Harry Wentland 2017-09-12 1950 * due to complex MV testing for possible impact
4562236b3bc0a2 Harry Wentland 2017-09-12 1951 * if ( pACParameters->signal != SignalType_YPbPr &&
4562236b3bc0a2 Harry Wentland 2017-09-12 1952 * pACParameters->signal != SignalType_Composite &&
4562236b3bc0a2 Harry Wentland 2017-09-12 1953 * pACParameters->signal != SignalType_SVideo)
4562236b3bc0a2 Harry Wentland 2017-09-12 1954 */
4562236b3bc0a2 Harry Wentland 2017-09-12 1955 {
4562236b3bc0a2 Harry Wentland 2017-09-12 1956 /* HW will deduct 0.5 line from 2nd feild.
4562236b3bc0a2 Harry Wentland 2017-09-12 1957 * i.e. for 1080i, it is 2 lines for 1st field,
4562236b3bc0a2 Harry Wentland 2017-09-12 1958 * 2.5 lines for the 2nd feild. we need input as 5
4562236b3bc0a2 Harry Wentland 2017-09-12 1959 * instead of 4.
4562236b3bc0a2 Harry Wentland 2017-09-12 1960 * but it is 4 either from Edid data (spec CEA 861)
4562236b3bc0a2 Harry Wentland 2017-09-12 1961 * or CEA timing table.
4562236b3bc0a2 Harry Wentland 2017-09-12 1962 */
d6e6dfb287443b Qinglang Miao 2020-08-10 @1963 le16_add_cpu(¶ms.usV_SyncOffset, 1);
4562236b3bc0a2 Harry Wentland 2017-09-12 1964 }
4562236b3bc0a2 Harry Wentland 2017-09-12 1965 }
4562236b3bc0a2 Harry Wentland 2017-09-12 1966
4562236b3bc0a2 Harry Wentland 2017-09-12 1967 if (bp_params->flags.HORZ_COUNT_BY_TWO)
4562236b3bc0a2 Harry Wentland 2017-09-12 @1968 params.susModeMiscInfo.usAccess =
4562236b3bc0a2 Harry Wentland 2017-09-12 1969 cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_DOUBLE_CLOCK_MODE);
4562236b3bc0a2 Harry Wentland 2017-09-12 1970
4562236b3bc0a2 Harry Wentland 2017-09-12 1971 if (EXEC_BIOS_CMD_TABLE(SetCRTC_UsingDTDTiming, params))
4562236b3bc0a2 Harry Wentland 2017-09-12 1972 result = BP_RESULT_OK;
4562236b3bc0a2 Harry Wentland 2017-09-12 1973
4562236b3bc0a2 Harry Wentland 2017-09-12 1974 return result;
4562236b3bc0a2 Harry Wentland 2017-09-12 1975 }
4562236b3bc0a2 Harry Wentland 2017-09-12 1976
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amd/amdgpu: Properly tune the size of struct
2023-06-20 4:59 [PATCH] drm/amd/amdgpu: Properly tune the size of struct Su Hui
` (3 preceding siblings ...)
2023-06-23 12:25 ` kernel test robot
@ 2023-06-25 21:15 ` kernel test robot
4 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2023-06-25 21:15 UTC (permalink / raw)
To: Su Hui, alexander.deucher, airlied, Xinhui.Pan, daniel
Cc: oe-kbuild-all, David.Francis, Jane.Jian, Bokun.Zhang, monk.liu,
amd-gfx, dri-devel, linux-kernel, kernel-janitors, Su Hui
Hi Su,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on linus/master v6.4-rc7 next-20230623]
[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/Su-Hui/drm-amd-amdgpu-Properly-tune-the-size-of-struct/20230620-130013
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20230620045919.492128-1-suhui%40nfschina.com
patch subject: [PATCH] drm/amd/amdgpu: Properly tune the size of struct
config: m68k-randconfig-r093-20230625 (https://download.01.org/0day-ci/archive/20230626/202306260550.SInEbMd3-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230626/202306260550.SInEbMd3-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306260550.SInEbMd3-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:275:21: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:275:21: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:275:21: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:275:21: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:275:21: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:275:21: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:280:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:280:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:280:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:280:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:280:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:280:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:281:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:281:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:281:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:281:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:281:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:281:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:306:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:306:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:306:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:306:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:306:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:306:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:307:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:307:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:307:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:307:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:307:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:307:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:308:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:308:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:308:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:308:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:308:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:308:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:314:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:314:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:314:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:314:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:314:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:314:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:320:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:320:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:320:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:320:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:320:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:320:28: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:458:75: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *src @@ got void *[assigned] ptr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:458:75: sparse: expected void const volatile [noderef] __iomem *src
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:458:75: sparse: got void *[assigned] ptr
>> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:487:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *dst @@ got void *[assigned] ptr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:487:45: sparse: expected void volatile [noderef] __iomem *dst
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:487:45: sparse: got void *[assigned] ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:498:42: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:498:42: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:498:42: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:498:42: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:498:42: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:498:42: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:500:70: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *dst @@ got void *cpu_addr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:500:70: sparse: expected void volatile [noderef] __iomem *dst
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:500:70: sparse: got void *cpu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:501:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:501:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:501:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:501:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:501:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:501:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:504:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:504:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:504:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:504:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:504:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:504:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:505:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:505:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:505:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:505:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:505:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:505:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:507:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *[assigned] ptr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:507:35: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:507:35: sparse: got void *[assigned] ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:769:35: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:769:35: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:769:35: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:769:35: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:769:35: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:769:35: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1204:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1204:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1204:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1205:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1205:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1205:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1206:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1206:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1206:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1207:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1207:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1207:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1208:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1208:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1208:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1209:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1209:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1209:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1210:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1210:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1210:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1211:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1211:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1211:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1212:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1212:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1212:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1213:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1213:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1213:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1214:17: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1214:17: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1214:17: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1216:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1216:24: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1216:24: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1240:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1240:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1240:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1241:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1241:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1241:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1242:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1242:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1242:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1243:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1243:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1243:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1245:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1245:24: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1245:24: sparse: got restricted __le32 [usertype]
--
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:171:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:171:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:171:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:171:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:171:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:171:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:309:18: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:309:18: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:309:18: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:309:18: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:309:18: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:309:18: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:312:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *dst @@ got void *[addressable] cpu_addr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:312:29: sparse: expected void volatile [noderef] __iomem *dst
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:312:29: sparse: got void *[addressable] cpu_addr
--
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:139:32: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:139:32: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:139:32: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:139:32: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:139:32: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:139:32: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:147:21: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:147:21: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:147:21: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:147:21: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:147:21: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:147:21: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:151:26: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:151:26: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:151:26: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:151:26: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:151:26: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:151:26: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:152:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:152:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:152:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:152:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:152:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:152:30: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:154:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:154:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:154:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:154:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:154:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:154:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:155:24: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:155:24: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:155:24: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:155:24: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:155:24: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:155:24: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:161:29: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:161:29: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:161:29: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:161:29: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:161:29: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:161:29: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:162:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:162:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:162:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:162:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:162:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:162:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:163:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:163:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:163:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:163:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:163:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:163:34: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:170:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:170:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:170:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:170:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:170:28: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:170:28: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:311:67: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *src @@ got void *[assigned] ptr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:311:67: sparse: expected void const volatile [noderef] __iomem *src
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:311:67: sparse: got void *[assigned] ptr
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:335:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *dst @@ got void *[assigned] ptr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:335:45: sparse: expected void volatile [noderef] __iomem *dst
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:335:45: sparse: got void *[assigned] ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:346:42: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:346:42: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:346:42: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:346:42: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:346:42: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:346:42: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:348:70: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *dst @@ got void *cpu_addr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:348:70: sparse: expected void volatile [noderef] __iomem *dst
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:348:70: sparse: got void *cpu_addr
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:349:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:349:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:349:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:349:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:349:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:349:53: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:352:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:352:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:352:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:352:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:352:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:352:41: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:353:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:353:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:353:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:353:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:353:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:353:40: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:355:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *[assigned] ptr @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:355:35: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:355:35: sparse: got void *[assigned] ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:583:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:583:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:583:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:584:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:584:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:584:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:585:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:585:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:585:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:586:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:586:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:586:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:587:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:587:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:587:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:588:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:588:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:588:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:589:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:589:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:589:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:590:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:590:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:590:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:591:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:591:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:591:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:592:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:592:16: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:592:16: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:593:17: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:593:17: sparse: expected unsigned int [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:593:17: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:594:17: sparse: sparse: too many warnings
--
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:457:25: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:574:59: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *src @@ got void *ptr @@
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:574:59: sparse: expected void const volatile [noderef] __iomem *src
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:574:59: sparse: got void *ptr
>> drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:623:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *dst @@ got void *ptr @@
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:623:37: sparse: expected void volatile [noderef] __iomem *dst
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:623:37: sparse: got void *ptr
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:1081:27: sparse: sparse: symbol 'vce_v4_0_ip_funcs' was not declared. Should it be static?
--
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu7_smumgr.c:65:25: sparse: sparse: cast to restricted __be32
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu7_smumgr.c:74:26: sparse: sparse: cast to restricted __be32
>> drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu7_smumgr.c:411:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *dst @@ got void *kaddr @@
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu7_smumgr.c:411:44: sparse: expected void volatile [noderef] __iomem *dst
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu7_smumgr.c:411:44: sparse: got void *kaddr
vim +458 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
d38ceaf99ed015 Alex Deucher 2015-04-20 183
d38ceaf99ed015 Alex Deucher 2015-04-20 184 int amdgpu_uvd_sw_init(struct amdgpu_device *adev)
d38ceaf99ed015 Alex Deucher 2015-04-20 185 {
d38ceaf99ed015 Alex Deucher 2015-04-20 186 unsigned long bo_size;
d38ceaf99ed015 Alex Deucher 2015-04-20 187 const char *fw_name;
d38ceaf99ed015 Alex Deucher 2015-04-20 188 const struct common_firmware_header *hdr;
f10984a353c87e Srinivasan Shanmugam 2023-05-17 189 unsigned int family_id;
10dd74eac4dba9 James Zhu 2018-05-15 190 int i, j, r;
d38ceaf99ed015 Alex Deucher 2015-04-20 191
5c53d19b76dccb James Zhu 2018-06-18 192 INIT_DELAYED_WORK(&adev->uvd.idle_work, amdgpu_uvd_idle_work_handler);
d38ceaf99ed015 Alex Deucher 2015-04-20 193
d38ceaf99ed015 Alex Deucher 2015-04-20 194 switch (adev->asic_type) {
d1af7ac24fd70f Sonny Jiang 2020-06-10 195 #ifdef CONFIG_DRM_AMDGPU_SI
d1af7ac24fd70f Sonny Jiang 2020-06-10 196 case CHIP_TAHITI:
d1af7ac24fd70f Sonny Jiang 2020-06-10 197 fw_name = FIRMWARE_TAHITI;
d1af7ac24fd70f Sonny Jiang 2020-06-10 198 break;
d1af7ac24fd70f Sonny Jiang 2020-06-10 199 case CHIP_VERDE:
d1af7ac24fd70f Sonny Jiang 2020-06-10 200 fw_name = FIRMWARE_VERDE;
d1af7ac24fd70f Sonny Jiang 2020-06-10 201 break;
d1af7ac24fd70f Sonny Jiang 2020-06-10 202 case CHIP_PITCAIRN:
d1af7ac24fd70f Sonny Jiang 2020-06-10 203 fw_name = FIRMWARE_PITCAIRN;
d1af7ac24fd70f Sonny Jiang 2020-06-10 204 break;
d1af7ac24fd70f Sonny Jiang 2020-06-10 205 case CHIP_OLAND:
d1af7ac24fd70f Sonny Jiang 2020-06-10 206 fw_name = FIRMWARE_OLAND;
d1af7ac24fd70f Sonny Jiang 2020-06-10 207 break;
d1af7ac24fd70f Sonny Jiang 2020-06-10 208 #endif
d38ceaf99ed015 Alex Deucher 2015-04-20 209 #ifdef CONFIG_DRM_AMDGPU_CIK
d38ceaf99ed015 Alex Deucher 2015-04-20 210 case CHIP_BONAIRE:
d38ceaf99ed015 Alex Deucher 2015-04-20 211 fw_name = FIRMWARE_BONAIRE;
d38ceaf99ed015 Alex Deucher 2015-04-20 212 break;
d38ceaf99ed015 Alex Deucher 2015-04-20 213 case CHIP_KABINI:
d38ceaf99ed015 Alex Deucher 2015-04-20 214 fw_name = FIRMWARE_KABINI;
d38ceaf99ed015 Alex Deucher 2015-04-20 215 break;
d38ceaf99ed015 Alex Deucher 2015-04-20 216 case CHIP_KAVERI:
d38ceaf99ed015 Alex Deucher 2015-04-20 217 fw_name = FIRMWARE_KAVERI;
d38ceaf99ed015 Alex Deucher 2015-04-20 218 break;
d38ceaf99ed015 Alex Deucher 2015-04-20 219 case CHIP_HAWAII:
d38ceaf99ed015 Alex Deucher 2015-04-20 220 fw_name = FIRMWARE_HAWAII;
d38ceaf99ed015 Alex Deucher 2015-04-20 221 break;
d38ceaf99ed015 Alex Deucher 2015-04-20 222 case CHIP_MULLINS:
d38ceaf99ed015 Alex Deucher 2015-04-20 223 fw_name = FIRMWARE_MULLINS;
d38ceaf99ed015 Alex Deucher 2015-04-20 224 break;
d38ceaf99ed015 Alex Deucher 2015-04-20 225 #endif
d38ceaf99ed015 Alex Deucher 2015-04-20 226 case CHIP_TONGA:
d38ceaf99ed015 Alex Deucher 2015-04-20 227 fw_name = FIRMWARE_TONGA;
d38ceaf99ed015 Alex Deucher 2015-04-20 228 break;
974ee3db0ff88e David Zhang 2015-07-08 229 case CHIP_FIJI:
974ee3db0ff88e David Zhang 2015-07-08 230 fw_name = FIRMWARE_FIJI;
974ee3db0ff88e David Zhang 2015-07-08 231 break;
d38ceaf99ed015 Alex Deucher 2015-04-20 232 case CHIP_CARRIZO:
d38ceaf99ed015 Alex Deucher 2015-04-20 233 fw_name = FIRMWARE_CARRIZO;
d38ceaf99ed015 Alex Deucher 2015-04-20 234 break;
a39c8cea3512bd Samuel Li 2015-10-08 235 case CHIP_STONEY:
a39c8cea3512bd Samuel Li 2015-10-08 236 fw_name = FIRMWARE_STONEY;
a39c8cea3512bd Samuel Li 2015-10-08 237 break;
2cc0c0b5cd4d07 Flora Cui 2016-03-14 238 case CHIP_POLARIS10:
2cc0c0b5cd4d07 Flora Cui 2016-03-14 239 fw_name = FIRMWARE_POLARIS10;
38d75817649508 Sonny Jiang 2015-11-05 240 break;
2cc0c0b5cd4d07 Flora Cui 2016-03-14 241 case CHIP_POLARIS11:
2cc0c0b5cd4d07 Flora Cui 2016-03-14 242 fw_name = FIRMWARE_POLARIS11;
c4642a479fac9f Junwei Zhang 2016-12-14 243 break;
2327e6261ab2bc Alex Deucher 2017-09-01 244 case CHIP_POLARIS12:
2327e6261ab2bc Alex Deucher 2017-09-01 245 fw_name = FIRMWARE_POLARIS12;
2327e6261ab2bc Alex Deucher 2017-09-01 246 break;
09bfb8912dc163 Leo Liu 2017-03-03 247 case CHIP_VEGA10:
09bfb8912dc163 Leo Liu 2017-03-03 248 fw_name = FIRMWARE_VEGA10;
09bfb8912dc163 Leo Liu 2017-03-03 249 break;
2327e6261ab2bc Alex Deucher 2017-09-01 250 case CHIP_VEGA12:
2327e6261ab2bc Alex Deucher 2017-09-01 251 fw_name = FIRMWARE_VEGA12;
38d75817649508 Sonny Jiang 2015-11-05 252 break;
ba8f7ad0e5b258 Leo Liu 2017-11-10 253 case CHIP_VEGAM:
ba8f7ad0e5b258 Leo Liu 2017-11-10 254 fw_name = FIRMWARE_VEGAM;
ba8f7ad0e5b258 Leo Liu 2017-11-10 255 break;
cac18c82e0c5b3 Feifei Xu 2018-05-11 256 case CHIP_VEGA20:
cac18c82e0c5b3 Feifei Xu 2018-05-11 257 fw_name = FIRMWARE_VEGA20;
cac18c82e0c5b3 Feifei Xu 2018-05-11 258 break;
d38ceaf99ed015 Alex Deucher 2015-04-20 259 default:
d38ceaf99ed015 Alex Deucher 2015-04-20 260 return -EINVAL;
d38ceaf99ed015 Alex Deucher 2015-04-20 261 }
d38ceaf99ed015 Alex Deucher 2015-04-20 262
b406477c614f08 Mario Limonciello 2023-01-04 263 r = amdgpu_ucode_request(adev, &adev->uvd.fw, fw_name);
d38ceaf99ed015 Alex Deucher 2015-04-20 264 if (r) {
d38ceaf99ed015 Alex Deucher 2015-04-20 265 dev_err(adev->dev, "amdgpu_uvd: Can't validate firmware \"%s\"\n",
d38ceaf99ed015 Alex Deucher 2015-04-20 266 fw_name);
b406477c614f08 Mario Limonciello 2023-01-04 267 amdgpu_ucode_release(&adev->uvd.fw);
d38ceaf99ed015 Alex Deucher 2015-04-20 268 return r;
d38ceaf99ed015 Alex Deucher 2015-04-20 269 }
d38ceaf99ed015 Alex Deucher 2015-04-20 270
c036554170fcc2 Arindam Nath 2016-04-12 271 /* Set the default UVD handles that the firmware can handle */
c036554170fcc2 Arindam Nath 2016-04-12 272 adev->uvd.max_handles = AMDGPU_DEFAULT_UVD_HANDLES;
c036554170fcc2 Arindam Nath 2016-04-12 273
d38ceaf99ed015 Alex Deucher 2015-04-20 274 hdr = (const struct common_firmware_header *)adev->uvd.fw->data;
d38ceaf99ed015 Alex Deucher 2015-04-20 275 family_id = le32_to_cpu(hdr->ucode_version) & 0xff;
dd06eecb73d2e5 James Zhu 2018-06-06 276
dd06eecb73d2e5 James Zhu 2018-06-06 277 if (adev->asic_type < CHIP_VEGA20) {
f10984a353c87e Srinivasan Shanmugam 2023-05-17 278 unsigned int version_major, version_minor;
5c219927027558 Alex Deucher 2018-06-14 279
d38ceaf99ed015 Alex Deucher 2015-04-20 280 version_major = (le32_to_cpu(hdr->ucode_version) >> 24) & 0xff;
d38ceaf99ed015 Alex Deucher 2015-04-20 281 version_minor = (le32_to_cpu(hdr->ucode_version) >> 8) & 0xff;
0b437e64e0af74 Tom Rix 2020-12-15 282 DRM_INFO("Found UVD firmware Version: %u.%u Family ID: %u\n",
d38ceaf99ed015 Alex Deucher 2015-04-20 283 version_major, version_minor, family_id);
d38ceaf99ed015 Alex Deucher 2015-04-20 284
c036554170fcc2 Arindam Nath 2016-04-12 285 /*
c036554170fcc2 Arindam Nath 2016-04-12 286 * Limit the number of UVD handles depending on microcode major
c036554170fcc2 Arindam Nath 2016-04-12 287 * and minor versions. The firmware version which has 40 UVD
c036554170fcc2 Arindam Nath 2016-04-12 288 * instances support is 1.80. So all subsequent versions should
c036554170fcc2 Arindam Nath 2016-04-12 289 * also have the same support.
c036554170fcc2 Arindam Nath 2016-04-12 290 */
5c219927027558 Alex Deucher 2018-06-14 291 if ((version_major > 0x01) ||
c036554170fcc2 Arindam Nath 2016-04-12 292 ((version_major == 0x01) && (version_minor >= 0x50)))
c036554170fcc2 Arindam Nath 2016-04-12 293 adev->uvd.max_handles = AMDGPU_MAX_UVD_HANDLES;
c036554170fcc2 Arindam Nath 2016-04-12 294
562e2689baebaa Sonny Jiang 2016-04-18 295 adev->uvd.fw_version = ((version_major << 24) | (version_minor << 16) |
562e2689baebaa Sonny Jiang 2016-04-18 296 (family_id << 8));
562e2689baebaa Sonny Jiang 2016-04-18 297
8e008dd70e0cf5 Sonny Jiang 2016-05-11 298 if ((adev->asic_type == CHIP_POLARIS10 ||
8e008dd70e0cf5 Sonny Jiang 2016-05-11 299 adev->asic_type == CHIP_POLARIS11) &&
8e008dd70e0cf5 Sonny Jiang 2016-05-11 300 (adev->uvd.fw_version < FW_1_66_16))
7d98d416c2cc1c Arnd Bergmann 2021-03-22 301 DRM_ERROR("POLARIS10/11 UVD firmware version %u.%u is too old.\n",
8e008dd70e0cf5 Sonny Jiang 2016-05-11 302 version_major, version_minor);
5c219927027558 Alex Deucher 2018-06-14 303 } else {
5c219927027558 Alex Deucher 2018-06-14 304 unsigned int enc_major, enc_minor, dec_minor;
5c219927027558 Alex Deucher 2018-06-14 305
5c219927027558 Alex Deucher 2018-06-14 306 dec_minor = (le32_to_cpu(hdr->ucode_version) >> 8) & 0xff;
5c219927027558 Alex Deucher 2018-06-14 307 enc_minor = (le32_to_cpu(hdr->ucode_version) >> 24) & 0x3f;
5c219927027558 Alex Deucher 2018-06-14 308 enc_major = (le32_to_cpu(hdr->ucode_version) >> 30) & 0x3;
0b437e64e0af74 Tom Rix 2020-12-15 309 DRM_INFO("Found UVD firmware ENC: %u.%u DEC: .%u Family ID: %u\n",
5c219927027558 Alex Deucher 2018-06-14 310 enc_major, enc_minor, dec_minor, family_id);
5c219927027558 Alex Deucher 2018-06-14 311
5c219927027558 Alex Deucher 2018-06-14 312 adev->uvd.max_handles = AMDGPU_MAX_UVD_HANDLES;
5c219927027558 Alex Deucher 2018-06-14 313
5c219927027558 Alex Deucher 2018-06-14 @314 adev->uvd.fw_version = le32_to_cpu(hdr->ucode_version);
5c219927027558 Alex Deucher 2018-06-14 315 }
8e008dd70e0cf5 Sonny Jiang 2016-05-11 316
09bfb8912dc163 Leo Liu 2017-03-03 317 bo_size = AMDGPU_UVD_STACK_SIZE + AMDGPU_UVD_HEAP_SIZE
c036554170fcc2 Arindam Nath 2016-04-12 318 + AMDGPU_UVD_SESSION_SIZE * adev->uvd.max_handles;
09bfb8912dc163 Leo Liu 2017-03-03 319 if (adev->firmware.load_type != AMDGPU_FW_LOAD_PSP)
09bfb8912dc163 Leo Liu 2017-03-03 @320 bo_size += AMDGPU_GPU_PAGE_ALIGN(le32_to_cpu(hdr->ucode_size_bytes) + 8);
09bfb8912dc163 Leo Liu 2017-03-03 321
10dd74eac4dba9 James Zhu 2018-05-15 322 for (j = 0; j < adev->uvd.num_uvd_inst; j++) {
f1e582ebfd703e Alex Deucher 2018-07-25 323 if (adev->uvd.harvest_config & (1 << j))
f1e582ebfd703e Alex Deucher 2018-07-25 324 continue;
4b62e697777d79 Christian König 2016-07-25 325 r = amdgpu_bo_create_kernel(adev, bo_size, PAGE_SIZE,
58ab2c08d708ca Christian König 2022-01-14 326 AMDGPU_GEM_DOMAIN_VRAM |
58ab2c08d708ca Christian König 2022-01-14 327 AMDGPU_GEM_DOMAIN_GTT,
58ab2c08d708ca Christian König 2022-01-14 328 &adev->uvd.inst[j].vcpu_bo,
58ab2c08d708ca Christian König 2022-01-14 329 &adev->uvd.inst[j].gpu_addr,
58ab2c08d708ca Christian König 2022-01-14 330 &adev->uvd.inst[j].cpu_addr);
d38ceaf99ed015 Alex Deucher 2015-04-20 331 if (r) {
d38ceaf99ed015 Alex Deucher 2015-04-20 332 dev_err(adev->dev, "(%d) failed to allocate UVD bo\n", r);
d38ceaf99ed015 Alex Deucher 2015-04-20 333 return r;
d38ceaf99ed015 Alex Deucher 2015-04-20 334 }
5c675bf2c67c4e Christian König 2018-07-18 335 }
d38ceaf99ed015 Alex Deucher 2015-04-20 336
c036554170fcc2 Arindam Nath 2016-04-12 337 for (i = 0; i < adev->uvd.max_handles; ++i) {
5c675bf2c67c4e Christian König 2018-07-18 338 atomic_set(&adev->uvd.handles[i], 0);
5c675bf2c67c4e Christian König 2018-07-18 339 adev->uvd.filp[i] = NULL;
d38ceaf99ed015 Alex Deucher 2015-04-20 340 }
5c675bf2c67c4e Christian König 2018-07-18 341
d38ceaf99ed015 Alex Deucher 2015-04-20 342 /* from uvd v5.0 HW addressing capacity increased to 64 bits */
2990a1fc012e1b Alex Deucher 2017-12-15 343 if (!amdgpu_device_ip_block_version_cmp(adev, AMD_IP_BLOCK_TYPE_UVD, 5, 0))
d38ceaf99ed015 Alex Deucher 2015-04-20 344 adev->uvd.address_64_bit = true;
d38ceaf99ed015 Alex Deucher 2015-04-20 345
68331d7cf3a9cd xinhui pan 2021-09-10 346 r = amdgpu_uvd_create_msg_bo_helper(adev, 128 << 10, &adev->uvd.ib_bo);
68331d7cf3a9cd xinhui pan 2021-09-10 347 if (r)
68331d7cf3a9cd xinhui pan 2021-09-10 348 return r;
68331d7cf3a9cd xinhui pan 2021-09-10 349
4cb5877c6352c4 Christian König 2016-07-26 350 switch (adev->asic_type) {
4cb5877c6352c4 Christian König 2016-07-26 351 case CHIP_TONGA:
4cb5877c6352c4 Christian König 2016-07-26 352 adev->uvd.use_ctx_buf = adev->uvd.fw_version >= FW_1_65_10;
4cb5877c6352c4 Christian König 2016-07-26 353 break;
4cb5877c6352c4 Christian König 2016-07-26 354 case CHIP_CARRIZO:
4cb5877c6352c4 Christian König 2016-07-26 355 adev->uvd.use_ctx_buf = adev->uvd.fw_version >= FW_1_87_11;
4cb5877c6352c4 Christian König 2016-07-26 356 break;
4cb5877c6352c4 Christian König 2016-07-26 357 case CHIP_FIJI:
4cb5877c6352c4 Christian König 2016-07-26 358 adev->uvd.use_ctx_buf = adev->uvd.fw_version >= FW_1_87_12;
4cb5877c6352c4 Christian König 2016-07-26 359 break;
4cb5877c6352c4 Christian König 2016-07-26 360 case CHIP_STONEY:
4cb5877c6352c4 Christian König 2016-07-26 361 adev->uvd.use_ctx_buf = adev->uvd.fw_version >= FW_1_37_15;
4cb5877c6352c4 Christian König 2016-07-26 362 break;
4cb5877c6352c4 Christian König 2016-07-26 363 default:
4cb5877c6352c4 Christian König 2016-07-26 364 adev->uvd.use_ctx_buf = adev->asic_type >= CHIP_POLARIS10;
4cb5877c6352c4 Christian König 2016-07-26 365 }
4cb5877c6352c4 Christian König 2016-07-26 366
d38ceaf99ed015 Alex Deucher 2015-04-20 367 return 0;
d38ceaf99ed015 Alex Deucher 2015-04-20 368 }
d38ceaf99ed015 Alex Deucher 2015-04-20 369
d38ceaf99ed015 Alex Deucher 2015-04-20 370 int amdgpu_uvd_sw_fini(struct amdgpu_device *adev)
d38ceaf99ed015 Alex Deucher 2015-04-20 371 {
68331d7cf3a9cd xinhui pan 2021-09-10 372 void *addr = amdgpu_bo_kptr(adev->uvd.ib_bo);
10dd74eac4dba9 James Zhu 2018-05-15 373 int i, j;
d38ceaf99ed015 Alex Deucher 2015-04-20 374
cdc50176597cb4 Nayan Deshmukh 2018-07-20 375 drm_sched_entity_destroy(&adev->uvd.entity);
5c675bf2c67c4e Christian König 2018-07-18 376
10dd74eac4dba9 James Zhu 2018-05-15 377 for (j = 0; j < adev->uvd.num_uvd_inst; ++j) {
f1e582ebfd703e Alex Deucher 2018-07-25 378 if (adev->uvd.harvest_config & (1 << j))
f1e582ebfd703e Alex Deucher 2018-07-25 379 continue;
c9533d1bca3393 Michel Dänzer 2018-08-03 380 kvfree(adev->uvd.inst[j].saved_bo);
ead833ecedfad7 Christian König 2016-02-10 381
10dd74eac4dba9 James Zhu 2018-05-15 382 amdgpu_bo_free_kernel(&adev->uvd.inst[j].vcpu_bo,
10dd74eac4dba9 James Zhu 2018-05-15 383 &adev->uvd.inst[j].gpu_addr,
10dd74eac4dba9 James Zhu 2018-05-15 384 (void **)&adev->uvd.inst[j].cpu_addr);
d38ceaf99ed015 Alex Deucher 2015-04-20 385
10dd74eac4dba9 James Zhu 2018-05-15 386 amdgpu_ring_fini(&adev->uvd.inst[j].ring);
4ff184d70e1dd8 Monk Liu 2017-09-15 387
10dd74eac4dba9 James Zhu 2018-05-15 388 for (i = 0; i < AMDGPU_MAX_UVD_ENC_RINGS; ++i)
10dd74eac4dba9 James Zhu 2018-05-15 389 amdgpu_ring_fini(&adev->uvd.inst[j].ring_enc[i]);
10dd74eac4dba9 James Zhu 2018-05-15 390 }
68331d7cf3a9cd xinhui pan 2021-09-10 391 amdgpu_bo_free_kernel(&adev->uvd.ib_bo, NULL, &addr);
b406477c614f08 Mario Limonciello 2023-01-04 392 amdgpu_ucode_release(&adev->uvd.fw);
d38ceaf99ed015 Alex Deucher 2015-04-20 393
d38ceaf99ed015 Alex Deucher 2015-04-20 394 return 0;
d38ceaf99ed015 Alex Deucher 2015-04-20 395 }
d38ceaf99ed015 Alex Deucher 2015-04-20 396
33d5bd0705440c Emily Deng 2018-08-13 397 /**
33d5bd0705440c Emily Deng 2018-08-13 398 * amdgpu_uvd_entity_init - init entity
33d5bd0705440c Emily Deng 2018-08-13 399 *
33d5bd0705440c Emily Deng 2018-08-13 400 * @adev: amdgpu_device pointer
33d5bd0705440c Emily Deng 2018-08-13 401 *
33d5bd0705440c Emily Deng 2018-08-13 402 */
33d5bd0705440c Emily Deng 2018-08-13 403 int amdgpu_uvd_entity_init(struct amdgpu_device *adev)
33d5bd0705440c Emily Deng 2018-08-13 404 {
33d5bd0705440c Emily Deng 2018-08-13 405 struct amdgpu_ring *ring;
b3ac17667f115e Nirmoy Das 2019-12-05 406 struct drm_gpu_scheduler *sched;
33d5bd0705440c Emily Deng 2018-08-13 407 int r;
33d5bd0705440c Emily Deng 2018-08-13 408
33d5bd0705440c Emily Deng 2018-08-13 409 ring = &adev->uvd.inst[0].ring;
b3ac17667f115e Nirmoy Das 2019-12-05 410 sched = &ring->sched;
b3ac17667f115e Nirmoy Das 2019-12-05 411 r = drm_sched_entity_init(&adev->uvd.entity, DRM_SCHED_PRIORITY_NORMAL,
b3ac17667f115e Nirmoy Das 2019-12-05 412 &sched, 1, NULL);
33d5bd0705440c Emily Deng 2018-08-13 413 if (r) {
33d5bd0705440c Emily Deng 2018-08-13 414 DRM_ERROR("Failed setting up UVD kernel entity.\n");
33d5bd0705440c Emily Deng 2018-08-13 415 return r;
33d5bd0705440c Emily Deng 2018-08-13 416 }
33d5bd0705440c Emily Deng 2018-08-13 417
33d5bd0705440c Emily Deng 2018-08-13 418 return 0;
33d5bd0705440c Emily Deng 2018-08-13 419 }
33d5bd0705440c Emily Deng 2018-08-13 420
d38ceaf99ed015 Alex Deucher 2015-04-20 421 int amdgpu_uvd_suspend(struct amdgpu_device *adev)
d38ceaf99ed015 Alex Deucher 2015-04-20 422 {
f10984a353c87e Srinivasan Shanmugam 2023-05-17 423 unsigned int size;
3f99dd814a6fdf Leo Liu 2016-04-01 424 void *ptr;
f89f8c6bafd069 Andrey Grodzovsky 2021-05-12 425 int i, j, idx;
76434f75d4a485 Le Ma 2019-11-27 426 bool in_ras_intr = amdgpu_ras_intr_triggered();
d38ceaf99ed015 Alex Deucher 2015-04-20 427
5c53d19b76dccb James Zhu 2018-06-18 428 cancel_delayed_work_sync(&adev->uvd.idle_work);
5c53d19b76dccb James Zhu 2018-06-18 429
f6c3b601bd490e James Zhu 2018-03-06 430 /* only valid for physical mode */
f6c3b601bd490e James Zhu 2018-03-06 431 if (adev->asic_type < CHIP_POLARIS10) {
c036554170fcc2 Arindam Nath 2016-04-12 432 for (i = 0; i < adev->uvd.max_handles; ++i)
5c675bf2c67c4e Christian König 2018-07-18 433 if (atomic_read(&adev->uvd.handles[i]))
3f99dd814a6fdf Leo Liu 2016-04-01 434 break;
d38ceaf99ed015 Alex Deucher 2015-04-20 435
ec7549df08c20e James Zhu 2018-03-06 436 if (i == adev->uvd.max_handles)
5c675bf2c67c4e Christian König 2018-07-18 437 return 0;
f6c3b601bd490e James Zhu 2018-03-06 438 }
d38ceaf99ed015 Alex Deucher 2015-04-20 439
5c675bf2c67c4e Christian König 2018-07-18 440 for (j = 0; j < adev->uvd.num_uvd_inst; ++j) {
f1e582ebfd703e Alex Deucher 2018-07-25 441 if (adev->uvd.harvest_config & (1 << j))
f1e582ebfd703e Alex Deucher 2018-07-25 442 continue;
5c675bf2c67c4e Christian König 2018-07-18 443 if (adev->uvd.inst[j].vcpu_bo == NULL)
5c675bf2c67c4e Christian König 2018-07-18 444 continue;
5c675bf2c67c4e Christian König 2018-07-18 445
10dd74eac4dba9 James Zhu 2018-05-15 446 size = amdgpu_bo_size(adev->uvd.inst[j].vcpu_bo);
10dd74eac4dba9 James Zhu 2018-05-15 447 ptr = adev->uvd.inst[j].cpu_addr;
3f99dd814a6fdf Leo Liu 2016-04-01 448
c9533d1bca3393 Michel Dänzer 2018-08-03 449 adev->uvd.inst[j].saved_bo = kvmalloc(size, GFP_KERNEL);
10dd74eac4dba9 James Zhu 2018-05-15 450 if (!adev->uvd.inst[j].saved_bo)
3f99dd814a6fdf Leo Liu 2016-04-01 451 return -ENOMEM;
3f99dd814a6fdf Leo Liu 2016-04-01 452
c58a863b1ccf63 Guchun Chen 2021-10-08 453 if (drm_dev_enter(adev_to_drm(adev), &idx)) {
8baaadba735565 Le Ma 2019-10-25 454 /* re-write 0 since err_event_athub will corrupt VCPU buffer */
76434f75d4a485 Le Ma 2019-11-27 455 if (in_ras_intr)
8baaadba735565 Le Ma 2019-10-25 456 memset(adev->uvd.inst[j].saved_bo, 0, size);
76434f75d4a485 Le Ma 2019-11-27 457 else
10dd74eac4dba9 James Zhu 2018-05-15 @458 memcpy_fromio(adev->uvd.inst[j].saved_bo, ptr, size);
f89f8c6bafd069 Andrey Grodzovsky 2021-05-12 459
f89f8c6bafd069 Andrey Grodzovsky 2021-05-12 460 drm_dev_exit(idx);
f89f8c6bafd069 Andrey Grodzovsky 2021-05-12 461 }
10dd74eac4dba9 James Zhu 2018-05-15 462 }
76434f75d4a485 Le Ma 2019-11-27 463
76434f75d4a485 Le Ma 2019-11-27 464 if (in_ras_intr)
76434f75d4a485 Le Ma 2019-11-27 465 DRM_WARN("UVD VCPU state may lost due to RAS ERREVENT_ATHUB_INTERRUPT\n");
76434f75d4a485 Le Ma 2019-11-27 466
d38ceaf99ed015 Alex Deucher 2015-04-20 467 return 0;
d38ceaf99ed015 Alex Deucher 2015-04-20 468 }
d38ceaf99ed015 Alex Deucher 2015-04-20 469
d38ceaf99ed015 Alex Deucher 2015-04-20 470 int amdgpu_uvd_resume(struct amdgpu_device *adev)
d38ceaf99ed015 Alex Deucher 2015-04-20 471 {
f10984a353c87e Srinivasan Shanmugam 2023-05-17 472 unsigned int size;
d38ceaf99ed015 Alex Deucher 2015-04-20 473 void *ptr;
f89f8c6bafd069 Andrey Grodzovsky 2021-05-12 474 int i, idx;
d38ceaf99ed015 Alex Deucher 2015-04-20 475
10dd74eac4dba9 James Zhu 2018-05-15 476 for (i = 0; i < adev->uvd.num_uvd_inst; i++) {
f1e582ebfd703e Alex Deucher 2018-07-25 477 if (adev->uvd.harvest_config & (1 << i))
f1e582ebfd703e Alex Deucher 2018-07-25 478 continue;
10dd74eac4dba9 James Zhu 2018-05-15 479 if (adev->uvd.inst[i].vcpu_bo == NULL)
d38ceaf99ed015 Alex Deucher 2015-04-20 480 return -EINVAL;
d38ceaf99ed015 Alex Deucher 2015-04-20 481
10dd74eac4dba9 James Zhu 2018-05-15 482 size = amdgpu_bo_size(adev->uvd.inst[i].vcpu_bo);
10dd74eac4dba9 James Zhu 2018-05-15 483 ptr = adev->uvd.inst[i].cpu_addr;
d38ceaf99ed015 Alex Deucher 2015-04-20 484
10dd74eac4dba9 James Zhu 2018-05-15 485 if (adev->uvd.inst[i].saved_bo != NULL) {
c58a863b1ccf63 Guchun Chen 2021-10-08 486 if (drm_dev_enter(adev_to_drm(adev), &idx)) {
10dd74eac4dba9 James Zhu 2018-05-15 @487 memcpy_toio(ptr, adev->uvd.inst[i].saved_bo, size);
f89f8c6bafd069 Andrey Grodzovsky 2021-05-12 488 drm_dev_exit(idx);
f89f8c6bafd069 Andrey Grodzovsky 2021-05-12 489 }
c9533d1bca3393 Michel Dänzer 2018-08-03 490 kvfree(adev->uvd.inst[i].saved_bo);
10dd74eac4dba9 James Zhu 2018-05-15 491 adev->uvd.inst[i].saved_bo = NULL;
d23be4e34c2bcb Leo Liu 2016-04-04 492 } else {
d23be4e34c2bcb Leo Liu 2016-04-04 493 const struct common_firmware_header *hdr;
f10984a353c87e Srinivasan Shanmugam 2023-05-17 494 unsigned int offset;
d23be4e34c2bcb Leo Liu 2016-04-04 495
d23be4e34c2bcb Leo Liu 2016-04-04 496 hdr = (const struct common_firmware_header *)adev->uvd.fw->data;
09bfb8912dc163 Leo Liu 2017-03-03 497 if (adev->firmware.load_type != AMDGPU_FW_LOAD_PSP) {
d23be4e34c2bcb Leo Liu 2016-04-04 498 offset = le32_to_cpu(hdr->ucode_array_offset_bytes);
c58a863b1ccf63 Guchun Chen 2021-10-08 499 if (drm_dev_enter(adev_to_drm(adev), &idx)) {
10dd74eac4dba9 James Zhu 2018-05-15 @500 memcpy_toio(adev->uvd.inst[i].cpu_addr, adev->uvd.fw->data + offset,
ba0b2275a6781b Christian König 2016-08-23 501 le32_to_cpu(hdr->ucode_size_bytes));
f89f8c6bafd069 Andrey Grodzovsky 2021-05-12 502 drm_dev_exit(idx);
f89f8c6bafd069 Andrey Grodzovsky 2021-05-12 503 }
d23be4e34c2bcb Leo Liu 2016-04-04 504 size -= le32_to_cpu(hdr->ucode_size_bytes);
d23be4e34c2bcb Leo Liu 2016-04-04 505 ptr += le32_to_cpu(hdr->ucode_size_bytes);
09bfb8912dc163 Leo Liu 2017-03-03 506 }
ba0b2275a6781b Christian König 2016-08-23 507 memset_io(ptr, 0, size);
3b1186fd2aa4ab Jim Qu 2017-12-18 508 /* to restore uvd fence seq */
10dd74eac4dba9 James Zhu 2018-05-15 509 amdgpu_fence_driver_force_completion(&adev->uvd.inst[i].ring);
10dd74eac4dba9 James Zhu 2018-05-15 510 }
d23be4e34c2bcb Leo Liu 2016-04-04 511 }
d38ceaf99ed015 Alex Deucher 2015-04-20 512 return 0;
d38ceaf99ed015 Alex Deucher 2015-04-20 513 }
d38ceaf99ed015 Alex Deucher 2015-04-20 514
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-06-25 21:16 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-20 4:59 [PATCH] drm/amd/amdgpu: Properly tune the size of struct Su Hui
2023-06-20 7:37 ` Dan Carpenter
2023-06-20 7:44 ` Dan Carpenter
2023-06-20 7:57 ` Longsuhui
2023-06-21 0:41 ` kernel test robot
2023-06-23 5:45 ` kernel test robot
2023-06-23 12:25 ` kernel test robot
2023-06-25 21:15 ` kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).