[josef-btrfs:locking-rework 16/18] fs/btrfs/locking.c:204:6: sparse: sparse: context imbalance in '__btrfs_tree_lock' - wrong count at exit
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-next.git locking-rework
head: ecc26315fec63c1ce9a1420cb6d9b6e0d0c4d7f5
commit: 061e82bf86d54d981acb307eff1fa114e71c3854 [16/18] btrfs: change our extent buffer lock to a rw_semaphore
config: h8300-randconfig-s032-20200810 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-141-g19506bc2-dirty
git checkout 061e82bf86d54d981acb307eff1fa114e71c3854
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> fs/btrfs/locking.c:204:6: sparse: sparse: context imbalance in '__btrfs_tree_lock' - wrong count at exit
fs/btrfs/locking.c:217:6: sparse: sparse: context imbalance in 'btrfs_tree_lock' - wrong count at exit
vim +/__btrfs_tree_lock +204 fs/btrfs/locking.c
b4ce94de9b4d64 Chris Mason 2009-02-04 196
b4ce94de9b4d64 Chris Mason 2009-02-04 197 /*
061e82bf86d54d Josef Bacik 2020-08-06 198 * __btrfs_tree_lock: Lock for write.
061e82bf86d54d Josef Bacik 2020-08-06 199 * @eb - the eb to lock.
061e82bf86d54d Josef Bacik 2020-08-06 200 * @nest - the nesting to use for the lock.
d4e253bbbc2036 David Sterba 2019-10-16 201 *
061e82bf86d54d Josef Bacik 2020-08-06 202 * Returns with the eb->lock write locked.
b4ce94de9b4d64 Chris Mason 2009-02-04 203 */
b2b79494f64f21 Josef Bacik 2020-08-06 @204 void __btrfs_tree_lock(struct extent_buffer *eb, enum btrfs_lock_nesting nest)
78d933c79cb649 Jules Irenge 2020-03-31 205 __acquires(&eb->lock)
bd681513fa6f2f Chris Mason 2011-07-16 206 {
34e73cc930a867 Qu Wenruo 2019-04-15 207 u64 start_ns = 0;
34e73cc930a867 Qu Wenruo 2019-04-15 208
34e73cc930a867 Qu Wenruo 2019-04-15 209 if (trace_btrfs_tree_lock_enabled())
34e73cc930a867 Qu Wenruo 2019-04-15 210 start_ns = ktime_get_ns();
34e73cc930a867 Qu Wenruo 2019-04-15 211
061e82bf86d54d Josef Bacik 2020-08-06 212 down_write_nested(&eb->lock, nest);
5b25f70f420076 Arne Jansen 2011-09-13 213 eb->lock_owner = current->pid;
34e73cc930a867 Qu Wenruo 2019-04-15 214 trace_btrfs_tree_lock(eb, start_ns);
925baeddc5b076 Chris Mason 2008-06-25 215 }
925baeddc5b076 Chris Mason 2008-06-25 216
:::::: The code at line 204 was first introduced by commit
:::::: b2b79494f64f21306835ae706656a7b4316a7f4c btrfs: add nesting tags to the locking helpers
:::::: TO: Josef Bacik <josef(a)toxicpanda.com>
:::::: CC: Josef Bacik <josef(a)toxicpanda.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[mlankhorst:locking-rework 30/31] drivers/gpu/drm/i915/gem/i915_gem_object.c:290: undefined reference to `stack_depot_save'
by kernel test robot
tree: git://people.freedesktop.org/~mlankhorst/linux locking-rework
head: f184f0be6c5c9ded15582c2ed5be90f0d74d41e1
commit: 42d16741d18f35ea99a876dd1614f3e7889b352b [30/31] drm/i915: Add freed object debugging by freeing synchronously.
config: i386-randconfig-r026-20200810 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git checkout 42d16741d18f35ea99a876dd1614f3e7889b352b
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ld: drivers/gpu/drm/i915/gem/i915_gem_object.o: in function `save_stack':
>> drivers/gpu/drm/i915/gem/i915_gem_object.c:290: undefined reference to `stack_depot_save'
ld: drivers/gpu/drm/i915/i915_gem.o: in function `dump_freed_obj':
>> drivers/gpu/drm/i915/i915_gem.c:1370: undefined reference to `stack_depot_fetch'
vim +290 drivers/gpu/drm/i915/gem/i915_gem_object.c
281
282 static noinline void save_stack(struct drm_i915_gem_object *obj)
283 {
284 unsigned long entries[32];
285 unsigned int n;
286
287 n = stack_trace_save(entries, ARRAY_SIZE(entries), 1);
288
289 /* May be called under spinlock, so avoid sleeping */
> 290 obj->stack = stack_depot_save(entries, n, GFP_NOWAIT);
291 }
292
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[jwboyer-fedora:f32 73/75] drivers/pci/controller/dwc/pcie-tegra194.c:255:27: warning: unused variable 'pcie_gen_freq'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jwboyer/fedora.git f32
head: 47724de6cb45dc7195bdb98792eed000c99497c2
commit: d4095f5a683327328ebbf0be3fa2a518ca10929b [73/75] PCI: Add MCFG quirks for Tegra194 host controllers
config: arm64-randconfig-r001-20200810 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 3a34228bff6fdf45b50cb57cf5fb85d659eeb672)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
git checkout d4095f5a683327328ebbf0be3fa2a518ca10929b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/pci/controller/dwc/pcie-tegra194.c:255:27: warning: unused variable 'pcie_gen_freq' [-Wunused-const-variable]
static const unsigned int pcie_gen_freq[] = {
^
drivers/pci/controller/dwc/pcie-tegra194.c:262:18: warning: unused variable 'event_cntr_ctrl_offset' [-Wunused-const-variable]
static const u32 event_cntr_ctrl_offset[] = {
^
drivers/pci/controller/dwc/pcie-tegra194.c:271:18: warning: unused variable 'event_cntr_data_offset' [-Wunused-const-variable]
static const u32 event_cntr_data_offset[] = {
^
3 warnings generated.
vim +/pcie_gen_freq +255 drivers/pci/controller/dwc/pcie-tegra194.c
c57247f940e8ea Vidya Sagar 2020-03-03 254
56e15a238d9278 Vidya Sagar 2019-08-13 @255 static const unsigned int pcie_gen_freq[] = {
56e15a238d9278 Vidya Sagar 2019-08-13 256 GEN1_CORE_CLK_FREQ,
56e15a238d9278 Vidya Sagar 2019-08-13 257 GEN2_CORE_CLK_FREQ,
56e15a238d9278 Vidya Sagar 2019-08-13 258 GEN3_CORE_CLK_FREQ,
56e15a238d9278 Vidya Sagar 2019-08-13 259 GEN4_CORE_CLK_FREQ
56e15a238d9278 Vidya Sagar 2019-08-13 260 };
56e15a238d9278 Vidya Sagar 2019-08-13 261
:::::: The code at line 255 was first introduced by commit
:::::: 56e15a238d92788a2d09e0c5c26a5de1b3156931 PCI: tegra: Add Tegra194 PCIe support
:::::: TO: Vidya Sagar <vidyas(a)nvidia.com>
:::::: CC: Lorenzo Pieralisi <lorenzo.pieralisi(a)arm.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[jkirsher-next-queue:dev-queue 15/33] drivers/net/ethernet/intel/i40e/i40e_ptp.c:1020:50: sparse: sparse: mixing different enum types:
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue
head: 5cf0cbb14925b7131baa959b35a2267d6bbb6651
commit: f3f1e5ce45c6c061b87b37f0c166eb63fb94e9fd [15/33] i40e: add support for PTP external synchronization clock
config: x86_64-randconfig-s022-20200810 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-141-g19506bc2-dirty
git checkout f3f1e5ce45c6c061b87b37f0c166eb63fb94e9fd
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/net/ethernet/intel/i40e/i40e_ptp.c:1020:50: sparse: sparse: mixing different enum types:
>> drivers/net/ethernet/intel/i40e/i40e_ptp.c:1020:50: sparse: unsigned int enum i40e_ptp_led_pin_state
>> drivers/net/ethernet/intel/i40e/i40e_ptp.c:1020:50: sparse: int enum i40e_ptp_gpio_pin_state
drivers/net/ethernet/intel/i40e/i40e_ptp.c:1021:50: sparse: sparse: mixing different enum types:
drivers/net/ethernet/intel/i40e/i40e_ptp.c:1021:50: sparse: unsigned int enum i40e_ptp_led_pin_state
drivers/net/ethernet/intel/i40e/i40e_ptp.c:1021:50: sparse: int enum i40e_ptp_gpio_pin_state
drivers/net/ethernet/intel/i40e/i40e_ptp.c:1022:50: sparse: sparse: mixing different enum types:
drivers/net/ethernet/intel/i40e/i40e_ptp.c:1022:50: sparse: unsigned int enum i40e_ptp_led_pin_state
drivers/net/ethernet/intel/i40e/i40e_ptp.c:1022:50: sparse: int enum i40e_ptp_gpio_pin_state
drivers/net/ethernet/intel/i40e/i40e_ptp.c:1023:50: sparse: sparse: mixing different enum types:
drivers/net/ethernet/intel/i40e/i40e_ptp.c:1023:50: sparse: unsigned int enum i40e_ptp_led_pin_state
drivers/net/ethernet/intel/i40e/i40e_ptp.c:1023:50: sparse: int enum i40e_ptp_gpio_pin_state
vim +1020 drivers/net/ethernet/intel/i40e/i40e_ptp.c
999
1000 /**
1001 * i40e_ptp_set_pins_hw - Set HW GPIO pins
1002 * @pf: Board private structure
1003 *
1004 * This function sets GPIO pins for PTP
1005 **/
1006 static void i40e_ptp_set_pins_hw(struct i40e_pf *pf)
1007 {
1008 const struct i40e_ptp_pins_settings *pins = pf->ptp_pins;
1009 struct i40e_hw *hw = &pf->hw;
1010
1011 /* pin must be disabled before it may be used */
1012 i40e_ptp_set_pin_hw(hw, I40E_SDP3_2, off);
1013 i40e_ptp_set_pin_hw(hw, I40E_SDP3_3, off);
1014 i40e_ptp_set_pin_hw(hw, I40E_GPIO_4, off);
1015
1016 i40e_ptp_set_pin_hw(hw, I40E_SDP3_2, pins->sdp3_2);
1017 i40e_ptp_set_pin_hw(hw, I40E_SDP3_3, pins->sdp3_3);
1018 i40e_ptp_set_pin_hw(hw, I40E_GPIO_4, pins->gpio_4);
1019
> 1020 i40e_ptp_set_led_hw(hw, I40E_LED2_0, pins->led2_0);
1021 i40e_ptp_set_led_hw(hw, I40E_LED2_1, pins->led2_1);
1022 i40e_ptp_set_led_hw(hw, I40E_LED3_0, pins->led3_0);
1023 i40e_ptp_set_led_hw(hw, I40E_LED3_1, pins->led3_1);
1024
1025 dev_info(&pf->pdev->dev,
1026 "PTP configuration set to: SDP3_2: %s, SDP3_3: %s, GPIO_4: %s.\n",
1027 i40e_ptp_gpio_pin_state2str[pins->sdp3_2],
1028 i40e_ptp_gpio_pin_state2str[pins->sdp3_3],
1029 i40e_ptp_gpio_pin_state2str[pins->gpio_4]);
1030 }
1031
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/misc/habanalabs/common/command_submission.c:950 cs_ioctl_signal_wait() warn: should 'cb->id << (12)' be a 64 bit
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fc80c51fd4b23ec007e88d4c688f2cac1b8648e7
commit: 70b2f993ea4a79c298aac4ec1c58089020536ba5 habanalabs: create common folder
date: 2 weeks ago
config: riscv-randconfig-m031-20200810 (attached as .config)
compiler: riscv32-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
smatch warnings:
drivers/misc/habanalabs/common/command_submission.c:950 cs_ioctl_signal_wait() warn: should 'cb->id << (12)' be a 64 bit type?
vim +950 drivers/misc/habanalabs/common/command_submission.c
eff6f4a0e70b7b drivers/misc/habanalabs/command_submission.c Oded Gabbay 2019-02-16 768
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 769 static int cs_ioctl_signal_wait(struct hl_fpriv *hpriv, enum hl_cs_type cs_type,
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 770 void __user *chunks, u32 num_chunks,
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 771 u64 *cs_seq)
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 772 {
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 773 struct hl_device *hdev = hpriv->hdev;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 774 struct hl_ctx *ctx = hpriv->ctx;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 775 struct hl_cs_chunk *cs_chunk_array, *chunk;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 776 struct hw_queue_properties *hw_queue_prop;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 777 struct dma_fence *sig_fence = NULL;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 778 struct hl_cs_job *job;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 779 struct hl_cs *cs;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 780 struct hl_cb *cb;
21e7a346344959 drivers/misc/habanalabs/command_submission.c Ofir Bitton 2020-05-14 781 enum hl_queue_type q_type;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 782 u64 *signal_seq_arr = NULL, signal_seq;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 783 u32 size_to_copy, q_idx, signal_seq_arr_len, cb_size;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 784 int rc;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 785
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 786 *cs_seq = ULLONG_MAX;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 787
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 788 if (num_chunks > HL_MAX_JOBS_PER_CS) {
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 789 dev_err(hdev->dev,
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 790 "Number of chunks can NOT be larger than %d\n",
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 791 HL_MAX_JOBS_PER_CS);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 792 rc = -EINVAL;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 793 goto out;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 794 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 795
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 796 cs_chunk_array = kmalloc_array(num_chunks, sizeof(*cs_chunk_array),
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 797 GFP_ATOMIC);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 798 if (!cs_chunk_array) {
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 799 rc = -ENOMEM;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 800 goto out;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 801 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 802
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 803 size_to_copy = num_chunks * sizeof(struct hl_cs_chunk);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 804 if (copy_from_user(cs_chunk_array, chunks, size_to_copy)) {
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 805 dev_err(hdev->dev, "Failed to copy cs chunk array from user\n");
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 806 rc = -EFAULT;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 807 goto free_cs_chunk_array;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 808 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 809
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 810 /* currently it is guaranteed to have only one chunk */
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 811 chunk = &cs_chunk_array[0];
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 812 q_idx = chunk->queue_index;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 813 hw_queue_prop = &hdev->asic_prop.hw_queues_props[q_idx];
21e7a346344959 drivers/misc/habanalabs/command_submission.c Ofir Bitton 2020-05-14 814 q_type = hw_queue_prop->type;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 815
3abc99bb7dcbc0 drivers/misc/habanalabs/command_submission.c Ofir Bitton 2020-06-23 816 if ((q_idx >= hdev->asic_prop.max_queues) ||
21e7a346344959 drivers/misc/habanalabs/command_submission.c Ofir Bitton 2020-05-14 817 (!hw_queue_prop->supports_sync_stream)) {
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 818 dev_err(hdev->dev, "Queue index %d is invalid\n", q_idx);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 819 rc = -EINVAL;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 820 goto free_cs_chunk_array;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 821 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 822
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 823 if (cs_type == CS_TYPE_WAIT) {
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 824 struct hl_cs_compl *sig_waitcs_cmpl;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 825
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 826 signal_seq_arr_len = chunk->num_signal_seq_arr;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 827
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 828 /* currently only one signal seq is supported */
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 829 if (signal_seq_arr_len != 1) {
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 830 dev_err(hdev->dev,
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 831 "Wait for signal CS supports only one signal CS seq\n");
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 832 rc = -EINVAL;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 833 goto free_cs_chunk_array;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 834 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 835
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 836 signal_seq_arr = kmalloc_array(signal_seq_arr_len,
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 837 sizeof(*signal_seq_arr),
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 838 GFP_ATOMIC);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 839 if (!signal_seq_arr) {
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 840 rc = -ENOMEM;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 841 goto free_cs_chunk_array;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 842 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 843
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 844 size_to_copy = chunk->num_signal_seq_arr *
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 845 sizeof(*signal_seq_arr);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 846 if (copy_from_user(signal_seq_arr,
05c8a4fc44a916 drivers/misc/habanalabs/command_submission.c Oded Gabbay 2020-06-01 847 u64_to_user_ptr(chunk->signal_seq_arr),
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 848 size_to_copy)) {
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 849 dev_err(hdev->dev,
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 850 "Failed to copy signal seq array from user\n");
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 851 rc = -EFAULT;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 852 goto free_signal_seq_array;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 853 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 854
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 855 /* currently it is guaranteed to have only one signal seq */
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 856 signal_seq = signal_seq_arr[0];
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 857 sig_fence = hl_ctx_get_fence(ctx, signal_seq);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 858 if (IS_ERR(sig_fence)) {
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 859 dev_err(hdev->dev,
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 860 "Failed to get signal CS with seq 0x%llx\n",
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 861 signal_seq);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 862 rc = PTR_ERR(sig_fence);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 863 goto free_signal_seq_array;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 864 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 865
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 866 if (!sig_fence) {
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 867 /* signal CS already finished */
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 868 rc = 0;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 869 goto free_signal_seq_array;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 870 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 871
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 872 sig_waitcs_cmpl =
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 873 container_of(sig_fence, struct hl_cs_compl, base_fence);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 874
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 875 if (sig_waitcs_cmpl->type != CS_TYPE_SIGNAL) {
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 876 dev_err(hdev->dev,
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 877 "CS seq 0x%llx is not of a signal CS\n",
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 878 signal_seq);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 879 dma_fence_put(sig_fence);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 880 rc = -EINVAL;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 881 goto free_signal_seq_array;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 882 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 883
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 884 if (dma_fence_is_signaled(sig_fence)) {
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 885 /* signal CS already finished */
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 886 dma_fence_put(sig_fence);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 887 rc = 0;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 888 goto free_signal_seq_array;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 889 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 890 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 891
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 892 /* increment refcnt for context */
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 893 hl_ctx_get(hdev, ctx);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 894
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 895 rc = allocate_cs(hdev, ctx, cs_type, &cs);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 896 if (rc) {
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 897 if (cs_type == CS_TYPE_WAIT)
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 898 dma_fence_put(sig_fence);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 899 hl_ctx_put(ctx);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 900 goto free_signal_seq_array;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 901 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 902
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 903 /*
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 904 * Save the signal CS fence for later initialization right before
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 905 * hanging the wait CS on the queue.
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 906 */
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 907 if (cs->type == CS_TYPE_WAIT)
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 908 cs->signal_fence = sig_fence;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 909
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 910 hl_debugfs_add_cs(cs);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 911
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 912 *cs_seq = cs->sequence;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 913
21e7a346344959 drivers/misc/habanalabs/command_submission.c Ofir Bitton 2020-05-14 914 job = hl_cs_allocate_job(hdev, q_type, true);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 915 if (!job) {
db491e4f08a9fd drivers/misc/habanalabs/command_submission.c Ofir Bitton 2020-06-18 916 ctx->cs_counters.out_of_mem_drop_cnt++;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 917 dev_err(hdev->dev, "Failed to allocate a new job\n");
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 918 rc = -ENOMEM;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 919 goto put_cs;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 920 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 921
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 922 cb = hl_cb_kernel_create(hdev, PAGE_SIZE);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 923 if (!cb) {
db491e4f08a9fd drivers/misc/habanalabs/command_submission.c Ofir Bitton 2020-06-18 924 ctx->cs_counters.out_of_mem_drop_cnt++;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 925 kfree(job);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 926 rc = -EFAULT;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 927 goto put_cs;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 928 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 929
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 930 if (cs->type == CS_TYPE_WAIT)
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 931 cb_size = hdev->asic_funcs->get_wait_cb_size(hdev);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 932 else
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 933 cb_size = hdev->asic_funcs->get_signal_cb_size(hdev);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 934
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 935 job->id = 0;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 936 job->cs = cs;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 937 job->user_cb = cb;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 938 job->user_cb->cs_cnt++;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 939 job->user_cb_size = cb_size;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 940 job->hw_queue_id = q_idx;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 941
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 942 /*
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 943 * No need in parsing, user CB is the patched CB.
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 944 * We call hl_cb_destroy() out of two reasons - we don't need the CB in
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 945 * the CB idr anymore and to decrement its refcount as it was
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 946 * incremented inside hl_cb_kernel_create().
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 947 */
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 948 job->patched_cb = job->user_cb;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 949 job->job_cb_size = job->user_cb_size;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 @950 hl_cb_destroy(hdev, &hdev->kernel_cb_mgr, cb->id << PAGE_SHIFT);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 951
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 952 cs->jobs_in_queue_cnt[job->hw_queue_id]++;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 953
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 954 list_add_tail(&job->cs_node, &cs->job_list);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 955
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 956 /* increment refcount as for external queues we get completion */
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 957 cs_get(cs);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 958
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 959 hl_debugfs_add_job(hdev, job);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 960
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 961 rc = hl_hw_queue_schedule_cs(cs);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 962 if (rc) {
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 963 if (rc != -EAGAIN)
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 964 dev_err(hdev->dev,
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 965 "Failed to submit CS %d.%llu to H/W queues, error %d\n",
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 966 ctx->asid, cs->sequence, rc);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 967 goto free_cs_object;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 968 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 969
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 970 rc = HL_CS_STATUS_SUCCESS;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 971 goto put_cs;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 972
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 973 free_cs_object:
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 974 cs_rollback(hdev, cs);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 975 *cs_seq = ULLONG_MAX;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 976 /* The path below is both for good and erroneous exits */
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 977 put_cs:
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 978 /* We finished with the CS in this function, so put the ref */
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 979 cs_put(cs);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 980 free_signal_seq_array:
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 981 if (cs_type == CS_TYPE_WAIT)
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 982 kfree(signal_seq_arr);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 983 free_cs_chunk_array:
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 984 kfree(cs_chunk_array);
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 985 out:
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 986 return rc;
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 987 }
b75f22505ac97e drivers/misc/habanalabs/command_submission.c Omer Shpigelman 2020-05-07 988
:::::: The code at line 950 was first introduced by commit
:::::: b75f22505ac97ea680bcc3e23dcd56f421252b43 habanalabs: add signal/wait to CS IOCTL operations
:::::: TO: Omer Shpigelman <oshpigelman(a)habana.ai>
:::::: CC: Oded Gabbay <oded.gabbay(a)gmail.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/video/fbdev/i740fb.c:743:20: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fc80c51fd4b23ec007e88d4c688f2cac1b8648e7
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 8 weeks ago
config: xtensa-randconfig-s031-20200810 (attached as .config)
compiler: xtensa-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-141-g19506bc2-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=xtensa
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/video/fbdev/i740fb.c:743:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *__s @@ got char [noderef] __iomem *screen_base @@
drivers/video/fbdev/i740fb.c:743:20: sparse: expected void *__s
drivers/video/fbdev/i740fb.c:743:20: sparse: got char [noderef] __iomem *screen_base
drivers/video/fbdev/i740fb.c: note: in included file (through arch/xtensa/include/asm/io.h, include/linux/fb.h):
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:215:22: sparse: expected unsigned short [usertype] value
include/asm-generic/io.h:215:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:215:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
--
>> drivers/pci/endpoint/functions/pci-epf-test.c:288:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *__to @@ got void [noderef] __iomem *[assigned] dst_addr @@
drivers/pci/endpoint/functions/pci-epf-test.c:288:24: sparse: expected void *__to
drivers/pci/endpoint/functions/pci-epf-test.c:288:24: sparse: got void [noderef] __iomem *[assigned] dst_addr
>> drivers/pci/endpoint/functions/pci-epf-test.c:288:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *__from @@ got void [noderef] __iomem *[assigned] src_addr @@
drivers/pci/endpoint/functions/pci-epf-test.c:288:34: sparse: expected void const *__from
drivers/pci/endpoint/functions/pci-epf-test.c:288:34: sparse: got void [noderef] __iomem *[assigned] src_addr
--
>> drivers/video/fbdev/kyro/fbdev.c:725:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *__s @@ got char [noderef] __iomem *screen_base @@
drivers/video/fbdev/kyro/fbdev.c:725:23: sparse: expected void *__s
drivers/video/fbdev/kyro/fbdev.c:725:23: sparse: got char [noderef] __iomem *screen_base
drivers/video/fbdev/kyro/fbdev.c: note: in included file (through include/linux/fb.h):
arch/xtensa/include/asm/io.h:39:25: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@
arch/xtensa/include/asm/io.h:39:25: sparse: expected void [noderef] __iomem *
arch/xtensa/include/asm/io.h:39:25: sparse: got void *
vim +743 drivers/video/fbdev/i740fb.c
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 732
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 733 static int i740fb_set_par(struct fb_info *info)
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 734 {
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 735 struct i740fb_par *par = info->par;
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 736 u32 itemp;
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 737 int i;
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 738
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 739 i = i740fb_decode_var(&info->var, par, info);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 740 if (i)
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 741 return i;
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 742
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 @743 memset(info->screen_base, 0, info->screen_size);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 744
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 745 vga_protect(par);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 746
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 747 i740outreg(par, XRX, DRAM_EXT_CNTL, DRAM_REFRESH_DISABLE);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 748
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 749 mdelay(1);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 750
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 751 i740outreg(par, XRX, VCLK2_VCO_M, par->video_clk2_m);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 752 i740outreg(par, XRX, VCLK2_VCO_N, par->video_clk2_n);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 753 i740outreg(par, XRX, VCLK2_VCO_MN_MSBS, par->video_clk2_mn_msbs);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 754 i740outreg(par, XRX, VCLK2_VCO_DIV_SEL, par->video_clk2_div_sel);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 755
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 756 i740outreg_mask(par, XRX, PIXPIPE_CONFIG_0,
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 757 par->pixelpipe_cfg0 & DAC_8_BIT, 0x80);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 758
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 759 i740inb(par, 0x3DA);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 760 i740outb(par, 0x3C0, 0x00);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 761
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 762 /* update misc output register */
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 763 i740outb(par, VGA_MIS_W, par->misc | 0x01);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 764
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 765 /* synchronous reset on */
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 766 i740outreg(par, VGA_SEQ_I, VGA_SEQ_RESET, 0x01);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 767 /* write sequencer registers */
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 768 i740outreg(par, VGA_SEQ_I, VGA_SEQ_CLOCK_MODE,
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 769 par->seq[VGA_SEQ_CLOCK_MODE] | 0x20);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 770 for (i = 2; i < VGA_SEQ_C; i++)
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 771 i740outreg(par, VGA_SEQ_I, i, par->seq[i]);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 772
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 773 /* synchronous reset off */
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 774 i740outreg(par, VGA_SEQ_I, VGA_SEQ_RESET, 0x03);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 775
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 776 /* deprotect CRT registers 0-7 */
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 777 i740outreg(par, VGA_CRT_IC, VGA_CRTC_V_SYNC_END,
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 778 par->crtc[VGA_CRTC_V_SYNC_END]);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 779
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 780 /* write CRT registers */
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 781 for (i = 0; i < VGA_CRT_C; i++)
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 782 i740outreg(par, VGA_CRT_IC, i, par->crtc[i]);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 783
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 784 /* write graphics controller registers */
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 785 for (i = 0; i < VGA_GFX_C; i++)
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 786 i740outreg(par, VGA_GFX_I, i, par->gdc[i]);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 787
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 788 /* write attribute controller registers */
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 789 for (i = 0; i < VGA_ATT_C; i++) {
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 790 i740inb(par, VGA_IS1_RC); /* reset flip-flop */
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 791 i740outb(par, VGA_ATT_IW, i);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 792 i740outb(par, VGA_ATT_IW, par->atc[i]);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 793 }
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 794
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 795 i740inb(par, VGA_IS1_RC);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 796 i740outb(par, VGA_ATT_IW, 0x20);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 797
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 798 i740outreg(par, VGA_CRT_IC, EXT_VERT_TOTAL, par->ext_vert_total);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 799 i740outreg(par, VGA_CRT_IC, EXT_VERT_DISPLAY, par->ext_vert_disp_end);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 800 i740outreg(par, VGA_CRT_IC, EXT_VERT_SYNC_START,
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 801 par->ext_vert_sync_start);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 802 i740outreg(par, VGA_CRT_IC, EXT_VERT_BLANK_START,
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 803 par->ext_vert_blank_start);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 804 i740outreg(par, VGA_CRT_IC, EXT_HORIZ_TOTAL, par->ext_horiz_total);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 805 i740outreg(par, VGA_CRT_IC, EXT_HORIZ_BLANK, par->ext_horiz_blank);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 806 i740outreg(par, VGA_CRT_IC, EXT_OFFSET, par->ext_offset);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 807 i740outreg(par, VGA_CRT_IC, EXT_START_ADDR_HI, par->ext_start_addr_hi);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 808 i740outreg(par, VGA_CRT_IC, EXT_START_ADDR, par->ext_start_addr);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 809
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 810 i740outreg_mask(par, VGA_CRT_IC, INTERLACE_CNTL,
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 811 par->interlace_cntl, INTERLACE_ENABLE);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 812 i740outreg_mask(par, XRX, ADDRESS_MAPPING, par->address_mapping, 0x1F);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 813 i740outreg_mask(par, XRX, BITBLT_CNTL, par->bitblt_cntl, COLEXP_MODE);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 814 i740outreg_mask(par, XRX, DISPLAY_CNTL,
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 815 par->display_cntl, VGA_WRAP_MODE | GUI_MODE);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 816 i740outreg_mask(par, XRX, PIXPIPE_CONFIG_0, par->pixelpipe_cfg0, 0x9B);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 817 i740outreg_mask(par, XRX, PIXPIPE_CONFIG_2, par->pixelpipe_cfg2, 0x0C);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 818
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 819 i740outreg(par, XRX, PLL_CNTL, par->pll_cntl);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 820
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 821 i740outreg_mask(par, XRX, PIXPIPE_CONFIG_1,
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 822 par->pixelpipe_cfg1, DISPLAY_COLOR_MODE);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 823
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 824 itemp = readl(par->regs + FWATER_BLC);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 825 itemp &= ~(LMI_BURST_LENGTH | LMI_FIFO_WATERMARK);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 826 itemp |= par->lmi_fifo_watermark;
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 827 writel(itemp, par->regs + FWATER_BLC);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 828
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 829 i740outreg(par, XRX, DRAM_EXT_CNTL, DRAM_REFRESH_60HZ);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 830
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 831 i740outreg_mask(par, MRX, COL_KEY_CNTL_1, 0, BLANK_DISP_OVERLAY);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 832 i740outreg_mask(par, XRX, IO_CTNL,
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 833 par->io_cntl, EXTENDED_ATTR_CNTL | EXTENDED_CRTC_CNTL);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 834
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 835 if (par->pixelpipe_cfg1 != DISPLAY_8BPP_MODE) {
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 836 i740outb(par, VGA_PEL_MSK, 0xFF);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 837 i740outb(par, VGA_PEL_IW, 0x00);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 838 for (i = 0; i < 256; i++) {
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 839 itemp = (par->pixelpipe_cfg0 & DAC_8_BIT) ? i : i >> 2;
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 840 i740outb(par, VGA_PEL_D, itemp);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 841 i740outb(par, VGA_PEL_D, itemp);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 842 i740outb(par, VGA_PEL_D, itemp);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 843 }
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 844 }
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 845
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 846 /* Wait for screen to stabilize. */
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 847 mdelay(50);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 848 vga_unprotect(par);
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 849
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 850 info->fix.line_length =
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 851 info->var.xres_virtual * info->var.bits_per_pixel / 8;
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 852 if (info->var.bits_per_pixel == 8)
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 853 info->fix.visual = FB_VISUAL_PSEUDOCOLOR;
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 854 else
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 855 info->fix.visual = FB_VISUAL_TRUECOLOR;
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 856
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 857 return 0;
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 858 }
5350c65f4f15bb drivers/video/i740fb.c Ondrej Zary 2012-02-10 859
:::::: The code at line 743 was first introduced by commit
:::::: 5350c65f4f15bbc111ffa629130d3f32cdd4ccf6 Resurrect Intel740 driver: i740fb
:::::: TO: Ondrej Zary <linux(a)rainbow-software.org>
:::::: CC: Florian Tobias Schandinat <FlorianSchandinat(a)gmx.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[rppt:memblock/iterators-cleanup/v3 12/17] arch/arm/mm/pmsa-v7.c:264:2: error: incompatible pointer types passing 'int to parameter of type 'u64 (aka 'unsigned long long
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rppt/linux.git memblock/iterators-cleanup/v3
head: 79aa683bcd0cf3e183949d9bcf5ec4052e65f74d
commit: 1c93b140be9943b8bf966dfb1dc20446003db166 [12/17] arch, drivers: replace for_each_membock() with for_each_mem_range()
config: arm-randconfig-r016-20200810 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 3a34228bff6fdf45b50cb57cf5fb85d659eeb672)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
git checkout 1c93b140be9943b8bf966dfb1dc20446003db166
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> arch/arm/mm/pmsa-v7.c:264:2: error: incompatible pointer types passing 'int *' to parameter of type 'u64 *' (aka 'unsigned long long *') [-Werror,-Wincompatible-pointer-types]
for_each_mem_range(i, ®_start, ®_end) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memblock.h:212:2: note: expanded from macro 'for_each_mem_range'
__for_each_mem_range(i, &memblock.memory, NULL, NUMA_NO_NODE, \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memblock.h:178:31: note: expanded from macro '__for_each_mem_range'
for (i = 0, __next_mem_range(&i, nid, flags, type_a, type_b, \
^~
include/linux/memblock.h:125:28: note: passing argument to parameter 'idx' here
void __next_mem_range(u64 *idx, int nid, enum memblock_flags flags,
^
>> arch/arm/mm/pmsa-v7.c:264:2: error: incompatible pointer types passing 'int *' to parameter of type 'u64 *' (aka 'unsigned long long *') [-Werror,-Wincompatible-pointer-types]
for_each_mem_range(i, ®_start, ®_end) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memblock.h:212:2: note: expanded from macro 'for_each_mem_range'
__for_each_mem_range(i, &memblock.memory, NULL, NUMA_NO_NODE, \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memblock.h:181:24: note: expanded from macro '__for_each_mem_range'
__next_mem_range(&i, nid, flags, type_a, type_b, \
^~
include/linux/memblock.h:125:28: note: passing argument to parameter 'idx' here
void __next_mem_range(u64 *idx, int nid, enum memblock_flags flags,
^
>> arch/arm/mm/pmsa-v7.c:275:21: error: expected ';' after expression
mem_end = reg_end
^
;
3 errors generated.
--
>> arch/arm/mm/pmsa-v8.c:100:2: error: incompatible pointer types passing 'int *' to parameter of type 'u64 *' (aka 'unsigned long long *') [-Werror,-Wincompatible-pointer-types]
for_each_mem_range(i, ®_start, ®_end) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memblock.h:212:2: note: expanded from macro 'for_each_mem_range'
__for_each_mem_range(i, &memblock.memory, NULL, NUMA_NO_NODE, \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memblock.h:178:31: note: expanded from macro '__for_each_mem_range'
for (i = 0, __next_mem_range(&i, nid, flags, type_a, type_b, \
^~
include/linux/memblock.h:125:28: note: passing argument to parameter 'idx' here
void __next_mem_range(u64 *idx, int nid, enum memblock_flags flags,
^
>> arch/arm/mm/pmsa-v8.c:100:2: error: incompatible pointer types passing 'int *' to parameter of type 'u64 *' (aka 'unsigned long long *') [-Werror,-Wincompatible-pointer-types]
for_each_mem_range(i, ®_start, ®_end) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memblock.h:212:2: note: expanded from macro 'for_each_mem_range'
__for_each_mem_range(i, &memblock.memory, NULL, NUMA_NO_NODE, \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/memblock.h:181:24: note: expanded from macro '__for_each_mem_range'
__next_mem_range(&i, nid, flags, type_a, type_b, \
^~
include/linux/memblock.h:125:28: note: passing argument to parameter 'idx' here
void __next_mem_range(u64 *idx, int nid, enum memblock_flags flags,
^
2 errors generated.
vim +264 arch/arm/mm/pmsa-v7.c
263
> 264 for_each_mem_range(i, ®_start, ®_end) {
265 if (i == 0) {
266 phys_addr_t phys_offset = PHYS_OFFSET;
267
268 /*
269 * Initially only use memory continuous from
270 * PHYS_OFFSET */
271 if (reg_start != phys_offset)
272 panic("First memory bank must be contiguous from PHYS_OFFSET");
273
274 mem_start = reg_start;
> 275 mem_end = reg_end
276 specified_mem_size = mem_end - mem_start;
277 } else {
278 /*
279 * memblock auto merges contiguous blocks, remove
280 * all blocks afterwards in one go (we can't remove
281 * blocks separately while iterating)
282 */
283 pr_notice("Ignoring RAM after %pa, memory at %pa ignored\n",
284 &mem_end, ®_start);
285 memblock_remove(reg_start, 0 - reg_start);
286 break;
287 }
288 }
289
290 memset(mem, 0, sizeof(mem));
291 num = allocate_region(mem_start, specified_mem_size, mem_max_regions, mem);
292
293 for (i = 0; i < num; i++) {
294 unsigned long subreg = mem[i].size / PMSAv7_NR_SUBREGS;
295
296 total_mem_size += mem[i].size - subreg * hweight_long(mem[i].subreg);
297
298 pr_debug("MPU: base %pa size %pa disable subregions: %*pbl\n",
299 &mem[i].base, &mem[i].size, PMSAv7_NR_SUBREGS, &mem[i].subreg);
300 }
301
302 if (total_mem_size != specified_mem_size) {
303 pr_warn("Truncating memory from %pa to %pa (MPU region constraints)",
304 &specified_mem_size, &total_mem_size);
305 memblock_remove(mem_start + total_mem_size,
306 specified_mem_size - total_mem_size);
307 }
308 }
309
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
arch/powerpc/platforms/52xx/mpc52xx_gpt.c:532:16: sparse: sparse: cast removes address space '__iomem' of expression
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fc80c51fd4b23ec007e88d4c688f2cac1b8648e7
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 8 weeks ago
config: powerpc-randconfig-s031-20200810 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-141-g19506bc2-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
arch/powerpc/platforms/52xx/mpc52xx_gpt.c:99:1: sparse: sparse: symbol 'mpc52xx_gpt_list' was not declared. Should it be static?
arch/powerpc/platforms/52xx/mpc52xx_gpt.c:100:1: sparse: sparse: symbol 'mpc52xx_gpt_list_mutex' was not declared. Should it be static?
>> arch/powerpc/platforms/52xx/mpc52xx_gpt.c:532:16: sparse: sparse: cast removes address space '__iomem' of expression
>> arch/powerpc/platforms/52xx/mpc52xx_gpt.c:532:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned char volatile [noderef] [usertype] __iomem *addr @@ got unsigned char [usertype] * @@
>> arch/powerpc/platforms/52xx/mpc52xx_gpt.c:532:16: sparse: expected unsigned char volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/52xx/mpc52xx_gpt.c:532:16: sparse: got unsigned char [usertype] *
>> arch/powerpc/platforms/52xx/mpc52xx_gpt.c:532:16: sparse: sparse: cast removes address space '__iomem' of expression
>> arch/powerpc/platforms/52xx/mpc52xx_gpt.c:532:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned char volatile [noderef] [usertype] __iomem *addr @@ got unsigned char [usertype] * @@
>> arch/powerpc/platforms/52xx/mpc52xx_gpt.c:532:16: sparse: expected unsigned char volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/52xx/mpc52xx_gpt.c:532:16: sparse: got unsigned char [usertype] *
--
drivers/ide/pmac.c:228:23: sparse: sparse: symbol 'mdma_timings_33' was not declared. Should it be static?
drivers/ide/pmac.c:241:23: sparse: sparse: symbol 'mdma_timings_33k' was not declared. Should it be static?
drivers/ide/pmac.c:254:23: sparse: sparse: symbol 'mdma_timings_66' was not declared. Should it be static?
drivers/ide/pmac.c:272:3: sparse: sparse: symbol 'kl66_udma_timings' was not declared. Should it be static?
drivers/ide/pmac.c:1680:46: sparse: sparse: Using plain integer as NULL pointer
>> drivers/ide/pmac.c:868:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int volatile [noderef] [usertype] __iomem **[usertype] kauai_fcr @@
>> drivers/ide/pmac.c:868:37: sparse: expected void const volatile [noderef] __iomem *addr
>> drivers/ide/pmac.c:868:37: sparse: got unsigned int volatile [noderef] [usertype] __iomem **[usertype] kauai_fcr
>> drivers/ide/pmac.c:870:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int volatile [noderef] [usertype] __iomem **[usertype] kauai_fcr @@
>> drivers/ide/pmac.c:870:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/ide/pmac.c:870:33: sparse: got unsigned int volatile [noderef] [usertype] __iomem **[usertype] kauai_fcr
drivers/ide/pmac.c:894:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int volatile [noderef] [usertype] __iomem **[usertype] kauai_fcr @@
drivers/ide/pmac.c:894:45: sparse: expected void const volatile [noderef] __iomem *addr
drivers/ide/pmac.c:894:45: sparse: got unsigned int volatile [noderef] [usertype] __iomem **[usertype] kauai_fcr
drivers/ide/pmac.c:896:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int volatile [noderef] [usertype] __iomem **[usertype] kauai_fcr @@
drivers/ide/pmac.c:896:41: sparse: expected void volatile [noderef] __iomem *addr
drivers/ide/pmac.c:896:41: sparse: got unsigned int volatile [noderef] [usertype] __iomem **[usertype] kauai_fcr
drivers/ide/pmac.c:1063:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int volatile [noderef] [usertype] __iomem **[usertype] kauai_fcr @@
drivers/ide/pmac.c:1063:51: sparse: expected void volatile [noderef] __iomem *addr
drivers/ide/pmac.c:1063:51: sparse: got unsigned int volatile [noderef] [usertype] __iomem **[usertype] kauai_fcr
>> drivers/ide/pmac.c:1294:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned int volatile [noderef] [usertype] __iomem **[usertype] kauai_fcr @@ got void [noderef] __iomem *[assigned] base @@
>> drivers/ide/pmac.c:1294:25: sparse: expected unsigned int volatile [noderef] [usertype] __iomem **[usertype] kauai_fcr
>> drivers/ide/pmac.c:1294:25: sparse: got void [noderef] __iomem *[assigned] base
drivers/ide/pmac.c:1418:12: sparse: sparse: symbol 'pmac_ide_probe' was not declared. Should it be static?
vim +/__iomem +532 arch/powerpc/platforms/52xx/mpc52xx_gpt.c
eda43d16ef3d0b Albrecht Dreß 2009-11-13 525
eda43d16ef3d0b Albrecht Dreß 2009-11-13 526 /* low-level wdt functions */
eda43d16ef3d0b Albrecht Dreß 2009-11-13 527 static inline void mpc52xx_gpt_wdt_ping(struct mpc52xx_gpt_priv *gpt_wdt)
eda43d16ef3d0b Albrecht Dreß 2009-11-13 528 {
eda43d16ef3d0b Albrecht Dreß 2009-11-13 529 unsigned long flags;
eda43d16ef3d0b Albrecht Dreß 2009-11-13 530
77720c82915a8b Julia Cartwright 2017-03-21 531 raw_spin_lock_irqsave(&gpt_wdt->lock, flags);
eda43d16ef3d0b Albrecht Dreß 2009-11-13 @532 out_8((u8 *) &gpt_wdt->regs->mode, MPC52xx_GPT_MODE_WDT_PING);
77720c82915a8b Julia Cartwright 2017-03-21 533 raw_spin_unlock_irqrestore(&gpt_wdt->lock, flags);
eda43d16ef3d0b Albrecht Dreß 2009-11-13 534 }
eda43d16ef3d0b Albrecht Dreß 2009-11-13 535
:::::: The code at line 532 was first introduced by commit
:::::: eda43d16ef3d0bd59e3b762de3ffc73bab02efe9 mpc52xx/wdt: merge WDT code into the GPT driver
:::::: TO: Albrecht Dreß <albrecht.dress(a)arcor.de>
:::::: CC: Grant Likely <grant.likely(a)secretlab.ca>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/video/fbdev/kyro/fbdev.c:725:23: sparse: expected void
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fc80c51fd4b23ec007e88d4c688f2cac1b8648e7
commit: 80591e61a0f7e88deaada69844e4a31280c4a38f kbuild: tell sparse about the $ARCH
date: 9 months ago
config: xtensa-randconfig-s031-20200810 (attached as .config)
compiler: xtensa-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-141-g19506bc2-dirty
git checkout 80591e61a0f7e88deaada69844e4a31280c4a38f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=xtensa
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/video/fbdev/kyro/fbdev.c:725:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *__s @@ got char [noderef] <asn:2> *screen_base @@
>> drivers/video/fbdev/kyro/fbdev.c:725:23: sparse: expected void *__s
drivers/video/fbdev/kyro/fbdev.c:725:23: sparse: got char [noderef] <asn:2> *screen_base
drivers/video/fbdev/kyro/fbdev.c: note: in included file (through include/linux/fb.h):
arch/xtensa/include/asm/io.h:40:25: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:2> * @@ got void * @@
arch/xtensa/include/asm/io.h:40:25: sparse: expected void [noderef] <asn:2> *
arch/xtensa/include/asm/io.h:40:25: sparse: got void *
vim +725 drivers/video/fbdev/kyro/fbdev.c
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 661
48c68c4f1b5424 drivers/video/kyro/fbdev.c Greg Kroah-Hartman 2012-12-21 662 static int kyrofb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 663 {
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 664 struct fb_info *info;
a26968df0110bc drivers/video/kyro/fbdev.c Antonino A. Daplas 2006-01-09 665 struct kyrofb_info *currentpar;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 666 unsigned long size;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 667 int err;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 668
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 669 if ((err = pci_enable_device(pdev))) {
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 670 printk(KERN_WARNING "kyrofb: Can't enable pdev: %d\n", err);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 671 return err;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 672 }
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 673
a26968df0110bc drivers/video/kyro/fbdev.c Antonino A. Daplas 2006-01-09 674 info = framebuffer_alloc(sizeof(struct kyrofb_info), &pdev->dev);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 675 if (!info)
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 676 return -ENOMEM;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 677
a26968df0110bc drivers/video/kyro/fbdev.c Antonino A. Daplas 2006-01-09 678 currentpar = info->par;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 679
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 680 kyro_fix.smem_start = pci_resource_start(pdev, 0);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 681 kyro_fix.smem_len = pci_resource_len(pdev, 0);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 682 kyro_fix.mmio_start = pci_resource_start(pdev, 1);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 683 kyro_fix.mmio_len = pci_resource_len(pdev, 1);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 684
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 685 currentpar->regbase = deviceInfo.pSTGReg =
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 686 ioremap_nocache(kyro_fix.mmio_start, kyro_fix.mmio_len);
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 687 if (!currentpar->regbase)
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 688 goto out_free_fb;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 689
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 690 info->screen_base = pci_ioremap_wc_bar(pdev, 0);
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 691 if (!info->screen_base)
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 692 goto out_unmap_regs;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 693
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 694 if (!nomtrr)
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 695 currentpar->wc_cookie = arch_phys_wc_add(kyro_fix.smem_start,
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 696 kyro_fix.smem_len);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 697
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 698 kyro_fix.ypanstep = nopan ? 0 : 1;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 699 kyro_fix.ywrapstep = nowrap ? 0 : 1;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 700
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 701 info->fbops = &kyrofb_ops;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 702 info->fix = kyro_fix;
a26968df0110bc drivers/video/kyro/fbdev.c Antonino A. Daplas 2006-01-09 703 info->pseudo_palette = currentpar->palette;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 704 info->flags = FBINFO_DEFAULT;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 705
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 706 SetCoreClockPLL(deviceInfo.pSTGReg, pdev);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 707
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 708 deviceInfo.ulNextFreeVidMem = 0;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 709 deviceInfo.ulOverlayOffset = 0;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 710
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 711 /* This should give a reasonable default video mode */
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 712 if (!fb_find_mode(&info->var, info, mode_option, kyro_modedb,
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 713 NUM_TOTAL_MODES, &kyro_modedb[VMODE_1024_768_75], 32))
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 714 info->var = kyro_var;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 715
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 716 fb_alloc_cmap(&info->cmap, 256, 0);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 717
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 718 kyrofb_set_par(info);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 719 kyrofb_check_var(&info->var, info);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 720
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 721 size = get_line_length(info->var.xres_virtual,
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 722 info->var.bits_per_pixel);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 723 size *= info->var.yres_virtual;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 724
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 @725 fb_memset(info->screen_base, 0, size);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 726
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 727 if (register_framebuffer(info) < 0)
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 728 goto out_unmap;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 729
31b6780c15a4e3 drivers/video/kyro/fbdev.c Joe Perches 2013-09-19 730 fb_info(info, "%s frame buffer device, at %dx%d@%d using %ldk/%ldk of VRAM\n",
31b6780c15a4e3 drivers/video/kyro/fbdev.c Joe Perches 2013-09-19 731 info->fix.id,
31b6780c15a4e3 drivers/video/kyro/fbdev.c Joe Perches 2013-09-19 732 info->var.xres, info->var.yres, info->var.bits_per_pixel,
31b6780c15a4e3 drivers/video/kyro/fbdev.c Joe Perches 2013-09-19 733 size >> 10, (unsigned long)info->fix.smem_len >> 10);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 734
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 735 pci_set_drvdata(pdev, info);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 736
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 737 return 0;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 738
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 739 out_unmap:
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 740 iounmap(info->screen_base);
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 741 out_unmap_regs:
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 742 iounmap(currentpar->regbase);
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 743 out_free_fb:
a26968df0110bc drivers/video/kyro/fbdev.c Antonino A. Daplas 2006-01-09 744 framebuffer_release(info);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 745
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 746 return -EINVAL;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 747 }
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 748
:::::: The code at line 725 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds(a)ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month