* drivers/gpu/drm/tegra/plane.c:154 tegra_dc_pin() error: uninitialized symbol 'phys_addr'.
@ 2020-11-30 15:37 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-11-30 15:37 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 5877 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Thierry Reding <treding@nvidia.com>
CC: Dmitry Osipenko <digetx@gmail.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b65054597872ce3aefbc6a666385eabdf9e288da
commit: 273da5a046965ccf0ec79eb63f2d5173467e20fa drm/tegra: Reuse IOVA mapping where possible
date: 10 months ago
:::::: branch date: 16 hours ago
:::::: commit date: 10 months ago
config: arm64-randconfig-m031-20201130 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/gpu/drm/tegra/plane.c:154 tegra_dc_pin() error: uninitialized symbol 'phys_addr'.
vim +/phys_addr +154 drivers/gpu/drm/tegra/plane.c
5acd3514273611 Thierry Reding 2017-11-10 109
2e8d8749f6f9bb Thierry Reding 2019-10-28 110 static int tegra_dc_pin(struct tegra_dc *dc, struct tegra_plane_state *state)
2e8d8749f6f9bb Thierry Reding 2019-10-28 111 {
273da5a046965c Thierry Reding 2020-02-04 112 struct iommu_domain *domain = iommu_get_domain_for_dev(dc->dev);
2e8d8749f6f9bb Thierry Reding 2019-10-28 113 unsigned int i;
2e8d8749f6f9bb Thierry Reding 2019-10-28 114 int err;
2e8d8749f6f9bb Thierry Reding 2019-10-28 115
2e8d8749f6f9bb Thierry Reding 2019-10-28 116 for (i = 0; i < state->base.fb->format->num_planes; i++) {
2e8d8749f6f9bb Thierry Reding 2019-10-28 117 struct tegra_bo *bo = tegra_fb_get_plane(state->base.fb, i);
273da5a046965c Thierry Reding 2020-02-04 118 dma_addr_t phys_addr, *phys;
2e8d8749f6f9bb Thierry Reding 2019-10-28 119 struct sg_table *sgt;
2e8d8749f6f9bb Thierry Reding 2019-10-28 120
273da5a046965c Thierry Reding 2020-02-04 121 if (!domain || dc->client.group)
273da5a046965c Thierry Reding 2020-02-04 122 phys = &phys_addr;
273da5a046965c Thierry Reding 2020-02-04 123 else
273da5a046965c Thierry Reding 2020-02-04 124 phys = NULL;
273da5a046965c Thierry Reding 2020-02-04 125
273da5a046965c Thierry Reding 2020-02-04 126 sgt = host1x_bo_pin(dc->dev, &bo->base, phys);
2e8d8749f6f9bb Thierry Reding 2019-10-28 127 if (IS_ERR(sgt)) {
2e8d8749f6f9bb Thierry Reding 2019-10-28 128 err = PTR_ERR(sgt);
2e8d8749f6f9bb Thierry Reding 2019-10-28 129 goto unpin;
2e8d8749f6f9bb Thierry Reding 2019-10-28 130 }
2e8d8749f6f9bb Thierry Reding 2019-10-28 131
273da5a046965c Thierry Reding 2020-02-04 132 if (sgt) {
2e8d8749f6f9bb Thierry Reding 2019-10-28 133 err = dma_map_sg(dc->dev, sgt->sgl, sgt->nents,
2e8d8749f6f9bb Thierry Reding 2019-10-28 134 DMA_TO_DEVICE);
2e8d8749f6f9bb Thierry Reding 2019-10-28 135 if (err == 0) {
2e8d8749f6f9bb Thierry Reding 2019-10-28 136 err = -ENOMEM;
2e8d8749f6f9bb Thierry Reding 2019-10-28 137 goto unpin;
2e8d8749f6f9bb Thierry Reding 2019-10-28 138 }
2e8d8749f6f9bb Thierry Reding 2019-10-28 139
49f821919bb9d4 Thierry Reding 2019-12-03 140 /*
49f821919bb9d4 Thierry Reding 2019-12-03 141 * The display controller needs contiguous memory, so
49f821919bb9d4 Thierry Reding 2019-12-03 142 * fail if the buffer is discontiguous and we fail to
49f821919bb9d4 Thierry Reding 2019-12-03 143 * map its SG table to a single contiguous chunk of
49f821919bb9d4 Thierry Reding 2019-12-03 144 * I/O virtual memory.
49f821919bb9d4 Thierry Reding 2019-12-03 145 */
49f821919bb9d4 Thierry Reding 2019-12-03 146 if (err > 1) {
49f821919bb9d4 Thierry Reding 2019-12-03 147 err = -EINVAL;
49f821919bb9d4 Thierry Reding 2019-12-03 148 goto unpin;
49f821919bb9d4 Thierry Reding 2019-12-03 149 }
49f821919bb9d4 Thierry Reding 2019-12-03 150
2e8d8749f6f9bb Thierry Reding 2019-10-28 151 state->iova[i] = sg_dma_address(sgt->sgl);
2e8d8749f6f9bb Thierry Reding 2019-10-28 152 state->sgt[i] = sgt;
2e8d8749f6f9bb Thierry Reding 2019-10-28 153 } else {
273da5a046965c Thierry Reding 2020-02-04 @154 state->iova[i] = phys_addr;
2e8d8749f6f9bb Thierry Reding 2019-10-28 155 }
2e8d8749f6f9bb Thierry Reding 2019-10-28 156 }
2e8d8749f6f9bb Thierry Reding 2019-10-28 157
2e8d8749f6f9bb Thierry Reding 2019-10-28 158 return 0;
2e8d8749f6f9bb Thierry Reding 2019-10-28 159
2e8d8749f6f9bb Thierry Reding 2019-10-28 160 unpin:
2e8d8749f6f9bb Thierry Reding 2019-10-28 161 dev_err(dc->dev, "failed to map plane %u: %d\n", i, err);
2e8d8749f6f9bb Thierry Reding 2019-10-28 162
2e8d8749f6f9bb Thierry Reding 2019-10-28 163 while (i--) {
2e8d8749f6f9bb Thierry Reding 2019-10-28 164 struct tegra_bo *bo = tegra_fb_get_plane(state->base.fb, i);
2e8d8749f6f9bb Thierry Reding 2019-10-28 165 struct sg_table *sgt = state->sgt[i];
2e8d8749f6f9bb Thierry Reding 2019-10-28 166
273da5a046965c Thierry Reding 2020-02-04 167 if (sgt)
273da5a046965c Thierry Reding 2020-02-04 168 dma_unmap_sg(dc->dev, sgt->sgl, sgt->nents,
273da5a046965c Thierry Reding 2020-02-04 169 DMA_TO_DEVICE);
2e8d8749f6f9bb Thierry Reding 2019-10-28 170
273da5a046965c Thierry Reding 2020-02-04 171 host1x_bo_unpin(dc->dev, &bo->base, sgt);
2e8d8749f6f9bb Thierry Reding 2019-10-28 172 state->iova[i] = DMA_MAPPING_ERROR;
2e8d8749f6f9bb Thierry Reding 2019-10-28 173 state->sgt[i] = NULL;
2e8d8749f6f9bb Thierry Reding 2019-10-28 174 }
2e8d8749f6f9bb Thierry Reding 2019-10-28 175
2e8d8749f6f9bb Thierry Reding 2019-10-28 176 return err;
2e8d8749f6f9bb Thierry Reding 2019-10-28 177 }
2e8d8749f6f9bb Thierry Reding 2019-10-28 178
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 33020 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-11-30 15:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-30 15:37 drivers/gpu/drm/tegra/plane.c:154 tegra_dc_pin() error: uninitialized symbol 'phys_addr' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.