tree:   git://people.freedesktop.org/~gabbayo/linux habanalabs-fixes
head:   7c22278edd0a931c565a8511dfc1bc57ffbb9166
commit: 7c22278edd0a931c565a8511dfc1bc57ffbb9166 [7/7] habanalabs: cast to 
expected type
reproduce:
        # apt-get install sparse
        git checkout 7c22278edd0a931c565a8511dfc1bc57ffbb9166
        make ARCH=x86_64 allmodconfig
        make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'


sparse warnings: (new ones prefixed by >>)

>> drivers/misc/habanalabs/goya/goya.c:3012:17: sparse: cast removes address 
>> space of expression
   drivers/misc/habanalabs/goya/goya.c:5253:9: sparse: expression using 
sizeof(void)
   drivers/misc/habanalabs/goya/goya.c:5253:9: sparse: expression using 
sizeof(void)
   drivers/misc/habanalabs/goya/goya.c:609:44: sparse: cast truncates bits from 
constant value (7ff0000000 becomes f0000000)
   drivers/misc/habanalabs/goya/goya.c:619:44: sparse: cast truncates bits from 
constant value (8000000000 becomes 0)
   drivers/misc/habanalabs/goya/goya.c:622:17: sparse: cast truncates bits from 
constant value (1007fffffffff becomes ffffffff)
   drivers/misc/habanalabs/goya/goya.c:985:23: sparse: cast truncates bits from 
constant value (7ffc113000 becomes fc113000)
   drivers/misc/habanalabs/goya/goya.c:987:22: sparse: cast truncates bits from 
constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:991:17: sparse: cast truncates bits from 
constant value (7ffc800040 becomes fc800040)
   drivers/misc/habanalabs/goya/goya.c:1031:17: sparse: cast truncates bits 
from constant value (7ffc800040 becomes fc800040)
   drivers/misc/habanalabs/goya/goya.c:1709:23: sparse: cast truncates bits 
from constant value (7ffc113000 becomes fc113000)
   drivers/misc/habanalabs/goya/goya.c:1711:22: sparse: cast truncates bits 
from constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:1715:17: sparse: cast truncates bits 
from constant value (7ffc800040 becomes fc800040)
   drivers/misc/habanalabs/goya/goya.c:1759:23: sparse: cast truncates bits 
from constant value (7ffc113000 becomes fc113000)
   drivers/misc/habanalabs/goya/goya.c:1761:22: sparse: cast truncates bits 
from constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:1765:17: sparse: cast truncates bits 
from constant value (7ffc800040 becomes fc800040)
   drivers/misc/habanalabs/goya/goya.c:1800:22: sparse: cast truncates bits 
from constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:1820:23: sparse: cast truncates bits 
from constant value (7ffc113000 becomes fc113000)
   drivers/misc/habanalabs/goya/goya.c:1822:22: sparse: cast truncates bits 
from constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:1826:17: sparse: cast truncates bits 
from constant value (7ffc800040 becomes fc800040)
   drivers/misc/habanalabs/goya/goya.c:1869:23: sparse: cast truncates bits 
from constant value (7ffc113000 becomes fc113000)
   drivers/misc/habanalabs/goya/goya.c:1871:22: sparse: cast truncates bits 
from constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:1875:17: sparse: cast truncates bits 
from constant value (7ffc800040 becomes fc800040)
   drivers/misc/habanalabs/goya/goya.c:1910:22: sparse: cast truncates bits 
from constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:2426:9: sparse: cast truncates bits from 
constant value (7ff0100000 becomes f0100000)
   drivers/misc/habanalabs/goya/goya.c:2466:27: sparse: cast truncates bits 
from constant value (7ff0000000 becomes f0000000)
   drivers/misc/habanalabs/goya/goya.c:3746:26: sparse: cast truncates bits 
from constant value (7ffc112000 becomes fc112000)
   drivers/misc/habanalabs/goya/goya.c:3747:24: sparse: cast truncates bits 
from constant value (7ffc112ffc becomes fc112ffc)
   drivers/misc/habanalabs/goya/goya.c:5191:13: sparse: context imbalance in 
'goya_hw_queues_lock' - wrong count at exit
   drivers/misc/habanalabs/goya/goya.c:5198:13: sparse: context imbalance in 
'goya_hw_queues_unlock' - unexpected unlock

vim +3012 drivers/misc/habanalabs/goya/goya.c

  3003  
  3004  void *goya_get_int_queue_base(struct hl_device *hdev, u32 queue_id,
  3005                                  dma_addr_t *dma_handle, u16 *queue_len)
  3006  {
  3007          void *base;
  3008          u32 offset;
  3009  
  3010          *dma_handle = hdev->asic_prop.sram_base_address;
  3011  
> 3012          base = (void *) hdev->pcie_bar[SRAM_CFG_BAR_ID];
  3013  
  3014          switch (queue_id) {
  3015          case GOYA_QUEUE_ID_MME:
  3016                  offset = MME_QMAN_BASE_OFFSET;
  3017                  *queue_len = MME_QMAN_LENGTH;
  3018                  break;
  3019          case GOYA_QUEUE_ID_TPC0:
  3020                  offset = TPC0_QMAN_BASE_OFFSET;
  3021                  *queue_len = TPC_QMAN_LENGTH;
  3022                  break;
  3023          case GOYA_QUEUE_ID_TPC1:
  3024                  offset = TPC1_QMAN_BASE_OFFSET;
  3025                  *queue_len = TPC_QMAN_LENGTH;
  3026                  break;
  3027          case GOYA_QUEUE_ID_TPC2:
  3028                  offset = TPC2_QMAN_BASE_OFFSET;
  3029                  *queue_len = TPC_QMAN_LENGTH;
  3030                  break;
  3031          case GOYA_QUEUE_ID_TPC3:
  3032                  offset = TPC3_QMAN_BASE_OFFSET;
  3033                  *queue_len = TPC_QMAN_LENGTH;
  3034                  break;
  3035          case GOYA_QUEUE_ID_TPC4:
  3036                  offset = TPC4_QMAN_BASE_OFFSET;
  3037                  *queue_len = TPC_QMAN_LENGTH;
  3038                  break;
  3039          case GOYA_QUEUE_ID_TPC5:
  3040                  offset = TPC5_QMAN_BASE_OFFSET;
  3041                  *queue_len = TPC_QMAN_LENGTH;
  3042                  break;
  3043          case GOYA_QUEUE_ID_TPC6:
  3044                  offset = TPC6_QMAN_BASE_OFFSET;
  3045                  *queue_len = TPC_QMAN_LENGTH;
  3046                  break;
  3047          case GOYA_QUEUE_ID_TPC7:
  3048                  offset = TPC7_QMAN_BASE_OFFSET;
  3049                  *queue_len = TPC_QMAN_LENGTH;
  3050                  break;
  3051          default:
  3052                  dev_err(hdev->dev, "Got invalid queue id %d\n", 
queue_id);
  3053                  return NULL;
  3054          }
  3055  
  3056          base += offset;
  3057          *dma_handle += offset;
  3058  
  3059          return base;
  3060  }
  3061  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to