Hello Ben Goz,

The patch 914bea6329b2: "drm/amdkfd: Add support for VI in DQM" from
Jan 12, 2015, leads to the following static checker warning:

        drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c:158 
init_sdma_vm()
        warn: should this be a bitwise op?

drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c
   148  static void init_sdma_vm(struct device_queue_manager *dqm, struct queue 
*q,
   149                                  struct qcm_process_device *qpd)
   150  {
   151          uint32_t value = (1 << SDMA0_RLC0_VIRTUAL_ADDR__ATC__SHIFT);
   152  
   153          if (q->process->is_32bit_user_mode)
   154                  value |= (1 << SDMA0_RLC0_VIRTUAL_ADDR__PTR32__SHIFT) |
   155                                  get_sh_mem_bases_32(qpd_to_pdd(qpd));
   156          else
   157                  value |= ((get_sh_mem_bases_nybble_64(qpd_to_pdd(qpd))) 
<<
   158                                  
SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE__SHIFT) &&
                                                                                
     ^^
Probably logical AND was intended.

   159                                  
SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE_MASK;
   160  
   161          q->properties.sdma_vm_addr = value;
   162  }

Also:

        drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_cik.c:146
        init_sdma_vm() warn: should this be a bitwise op?

drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_cik.c
   136  static void init_sdma_vm(struct device_queue_manager *dqm, struct queue 
*q,
   137                                  struct qcm_process_device *qpd)
   138  {
   139          uint32_t value = (1 << SDMA0_RLC0_VIRTUAL_ADDR__ATC__SHIFT);
   140  
   141          if (q->process->is_32bit_user_mode)
   142                  value |= (1 << SDMA0_RLC0_VIRTUAL_ADDR__PTR32__SHIFT) |
   143                                  get_sh_mem_bases_32(qpd_to_pdd(qpd));
   144          else
   145                  value |= ((get_sh_mem_bases_nybble_64(qpd_to_pdd(qpd))) 
<<
   146                                  
SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE__SHIFT) &&
                                                                                
     ^
   147                                  
SDMA0_RLC0_VIRTUAL_ADDR__SHARED_BASE_MASK;
   148  
   149          q->properties.sdma_vm_addr = value;
   150  }

regards,
dan carpenter

Reply via email to