tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 7f63ebb23914c3b2e597112d96eba6edb440e907 commit: ed007ade0cef81fb47328683b8a7eec5edfa8494 [1540/1540] virtcca feature: secure smmu init config: arm64-randconfig-002-20241128 (https://download.01.org/0day-ci/archive/20241128/202411281610.h9QxfChh-lkp@i...) compiler: aarch64-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241128/202411281610.h9QxfChh-lkp@i...)
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/202411281610.h9QxfChh-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/iommu/arm/arm-smmu-v3/arm-s-smmu-v3.c:509:13: warning: no previous prototype for 'virtcca_smmu_evtq_thread' [-Wmissing-prototypes] 509 | irqreturn_t virtcca_smmu_evtq_thread(int irq, void *dev) | ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/iommu/arm/arm-smmu-v3/arm-s-smmu-v3.c:527:13: warning: no previous prototype for 'virtcca_smmu_gerror_handler' [-Wmissing-prototypes]
527 | irqreturn_t virtcca_smmu_gerror_handler(int irq, void *dev) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/virtcca_smmu_gerror_handler +527 drivers/iommu/arm/arm-smmu-v3/arm-s-smmu-v3.c
518 519 /** 520 * The secure gerror handler 521 * @irq: Irq index 522 * @dev: Smmu device 523 * 524 * Returns: 525 * %IRQ_NONE no errors pending 526 */
527 irqreturn_t virtcca_smmu_gerror_handler(int irq, void *dev)
528 { 529 u64 gerror, gerrorn, active; 530 u64 ret; 531 struct arm_smmu_device *smmu = dev; 532 533 ret = tmi_smmu_read(smmu->ioaddr, ARM_SMMU_S_GERROR, ARM_S_SMMU_REG_32_BIT); 534 if (ret >> ARM_S_SMMU_REG_32_BIT) { 535 dev_err(smmu->dev, "S_SMMU: get arm_smmu_s_gerror register failed\n"); 536 return IRQ_NONE; 537 } 538 gerror = ret & ARM_S_SMMU_MASK_UPPER_32_BIT; 539 540 ret = tmi_smmu_read(smmu->ioaddr, ARM_SMMU_S_GERRORN, ARM_S_SMMU_REG_32_BIT); 541 if (ret >> ARM_S_SMMU_REG_32_BIT) { 542 dev_err(smmu->dev, "S_SMMU: get arm_smmu_s_gerror register failed\n"); 543 return IRQ_NONE; 544 } 545 gerrorn = ret & ARM_S_SMMU_MASK_UPPER_32_BIT; 546 547 active = gerror ^ gerrorn; 548 if (!(active & GERROR_ERR_MASK)) 549 return IRQ_NONE; /* No errors pending */ 550 551 dev_warn(smmu->dev, 552 "S_SMMU: unexpected secure global error reported, this could be serious, active %llx\n", 553 active); 554 555 if (active & GERROR_SFM_ERR) { 556 dev_err(smmu->dev, "S_SMMU: device has entered service failure mode!\n"); 557 virtcca_smmu_device_disable(smmu); 558 } 559 560 if (active & GERROR_MSI_GERROR_ABT_ERR) 561 dev_warn(smmu->dev, "S_SMMU: gerror msi write aborted\n"); 562 563 if (active & GERROR_MSI_PRIQ_ABT_ERR) 564 dev_warn(smmu->dev, "S_SMMU: priq msi write aborted\n"); 565 566 if (active & GERROR_MSI_EVTQ_ABT_ERR) 567 dev_warn(smmu->dev, "S_SMMU: evtq msi write aborted\n"); 568 569 if (active & GERROR_MSI_CMDQ_ABT_ERR) 570 dev_warn(smmu->dev, "S_SMMU: cmdq msi write aborted\n"); 571 572 if (active & GERROR_PRIQ_ABT_ERR) 573 dev_err(smmu->dev, "S_SMMU: priq write aborted -- events may have been lost\n"); 574 575 if (active & GERROR_EVTQ_ABT_ERR) 576 dev_err(smmu->dev, "S_SMMU: evtq write aborted -- events may have been lost\n"); 577 578 if (active & GERROR_CMDQ_ERR) 579 dev_warn(smmu->dev, "S_SMMU: cmdq err\n"); 580 581 if (tmi_smmu_write(smmu->ioaddr, ARM_SMMU_S_GERRORN, gerror, ARM_S_SMMU_REG_32_BIT)) { 582 dev_err(smmu->dev, "S_SMMU: write arm_smmu_s_gerrorn failed\n"); 583 return IRQ_NONE; 584 } 585 586 return IRQ_HANDLED; 587 } 588