From: kernel test robot <lkp@intel.com>
Cc: oe-kbuild-all@lists.linux.dev, Junxiao Chang <junxiao.chang@intel.com>
Subject: [intel-lts:6.1/linux 179/2351] drivers/gpu/drm/msm/msm_drv.h:237:45: error: field 'gpu_devfreq_config' has incomplete type
Date: Wed, 26 Jul 2023 17:39:57 +0800 [thread overview]
Message-ID: <202307261727.JpCM00a9-lkp@intel.com> (raw)
tree: https://github.com/intel/linux-intel-lts.git 6.1/linux
head: 9b67ca79f0898f0a9dc86f1ec2635881a40b4bcf
commit: 48a95ae6c5e6fa970128aaa20466f2f4294a032e [179/2351] drm/msm/gpu: Add devfreq tuning debugfs
config: arm-randconfig-r046-20230726 (https://download.01.org/0day-ci/archive/20230726/202307261727.JpCM00a9-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230726/202307261727.JpCM00a9-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307261727.JpCM00a9-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/gpu/drm/msm/msm_gpu.h:18,
from drivers/gpu/drm/msm/adreno/adreno_gpu.h:15,
from drivers/gpu/drm/msm/adreno/a2xx_gpu.h:7,
from drivers/gpu/drm/msm/adreno/a2xx_gpu.c:4:
>> drivers/gpu/drm/msm/msm_drv.h:237:45: error: field 'gpu_devfreq_config' has incomplete type
237 | struct devfreq_simple_ondemand_data gpu_devfreq_config;
| ^~~~~~~~~~~~~~~~~~
--
In file included from drivers/gpu/drm/msm/msm_kms.h:14,
from drivers/gpu/drm/msm/disp/msm_disp_snapshot.h:27,
from drivers/gpu/drm/msm/msm_drv.c:23:
>> drivers/gpu/drm/msm/msm_drv.h:237:45: error: field 'gpu_devfreq_config' has incomplete type
237 | struct devfreq_simple_ondemand_data gpu_devfreq_config;
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.c: In function 'msm_drm_init':
drivers/gpu/drm/msm/msm_drv.c:438:17: error: label 'err_put_dev' used but not defined
438 | goto err_put_dev;
| ^~~~
--
In file included from drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h:11,
from drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c:10:
>> drivers/gpu/drm/msm/msm_drv.h:237:45: error: field 'gpu_devfreq_config' has incomplete type
237 | struct devfreq_simple_ondemand_data gpu_devfreq_config;
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c:2058:37: warning: 'sm8350_regdma' defined but not used [-Wunused-const-variable=]
2058 | static const struct dpu_reg_dma_cfg sm8350_regdma = {
| ^~~~~~~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c:2034:37: warning: 'sc8280xp_regdma' defined but not used [-Wunused-const-variable=]
2034 | static const struct dpu_reg_dma_cfg sc8280xp_regdma = {
| ^~~~~~~~~~~~~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for DEVFREQ_GOV_SIMPLE_ONDEMAND
Depends on [n]: PM_DEVFREQ [=n]
Selected by [m]:
- DRM_MSM [=m] && HAS_IOMEM [=y] && DRM [=m] && (ARCH_QCOM [=n] || SOC_IMX5 [=n] || COMPILE_TEST [=y]) && COMMON_CLK [=y] && IOMMU_SUPPORT [=y] && (QCOM_OCMEM [=n] || QCOM_OCMEM [=n]=n) && (QCOM_LLCC [=n] || QCOM_LLCC [=n]=n) && (QCOM_COMMAND_DB [=m] || QCOM_COMMAND_DB [=m]=n)
vim +/gpu_devfreq_config +237 drivers/gpu/drm/msm/msm_drv.h
106
107 struct drm_device *dev;
108
109 struct msm_kms *kms;
110 int (*kms_init)(struct drm_device *dev);
111
112 /* subordinate devices, if present: */
113 struct platform_device *gpu_pdev;
114
115 /* possibly this should be in the kms component, but it is
116 * shared by both mdp4 and mdp5..
117 */
118 struct hdmi *hdmi;
119
120 /* DSI is shared by mdp4 and mdp5 */
121 struct msm_dsi *dsi[2];
122
123 struct msm_dp *dp[MSM_DP_CONTROLLER_COUNT];
124
125 /* when we have more than one 'msm_gpu' these need to be an array: */
126 struct msm_gpu *gpu;
127
128 /* gpu is only set on open(), but we need this info earlier */
129 bool is_a2xx;
130 bool has_cached_coherent;
131
132 struct drm_fb_helper *fbdev;
133
134 struct msm_rd_state *rd; /* debugfs to dump all submits */
135 struct msm_rd_state *hangrd; /* debugfs to dump hanging submits */
136 struct msm_perf_state *perf;
137
138 /**
139 * List of all GEM objects (mainly for debugfs, protected by obj_lock
140 * (acquire before per GEM object lock)
141 */
142 struct list_head objects;
143 struct mutex obj_lock;
144
145 /**
146 * lru:
147 *
148 * The various LRU's that a GEM object is in at various stages of
149 * it's lifetime. Objects start out in the unbacked LRU. When
150 * pinned (for scannout or permanently mapped GPU buffers, like
151 * ringbuffer, memptr, fw, etc) it moves to the pinned LRU. When
152 * unpinned, it moves into willneed or dontneed LRU depending on
153 * madvise state. When backing pages are evicted (willneed) or
154 * purged (dontneed) it moves back into the unbacked LRU.
155 *
156 * The dontneed LRU is considered by the shrinker for objects
157 * that are candidate for purging, and the willneed LRU is
158 * considered for objects that could be evicted.
159 */
160 struct {
161 /**
162 * unbacked:
163 *
164 * The LRU for GEM objects without backing pages allocated.
165 * This mostly exists so that objects are always is one
166 * LRU.
167 */
168 struct drm_gem_lru unbacked;
169
170 /**
171 * pinned:
172 *
173 * The LRU for pinned GEM objects
174 */
175 struct drm_gem_lru pinned;
176
177 /**
178 * willneed:
179 *
180 * The LRU for unpinned GEM objects which are in madvise
181 * WILLNEED state (ie. can be evicted)
182 */
183 struct drm_gem_lru willneed;
184
185 /**
186 * dontneed:
187 *
188 * The LRU for unpinned GEM objects which are in madvise
189 * DONTNEED state (ie. can be purged)
190 */
191 struct drm_gem_lru dontneed;
192
193 /**
194 * lock:
195 *
196 * Protects manipulation of all of the LRUs.
197 */
198 struct mutex lock;
199 } lru;
200
201 struct workqueue_struct *wq;
202
203 unsigned int num_crtcs;
204 struct drm_crtc *crtcs[MAX_CRTCS];
205
206 struct msm_drm_thread event_thread[MAX_CRTCS];
207
208 unsigned int num_bridges;
209 struct drm_bridge *bridges[MAX_BRIDGES];
210
211 /* VRAM carveout, used when no IOMMU: */
212 struct {
213 unsigned long size;
214 dma_addr_t paddr;
215 /* NOTE: mm managed at the page level, size is in # of pages
216 * and position mm_node->start is in # of pages:
217 */
218 struct drm_mm mm;
219 spinlock_t lock; /* Protects drm_mm node allocation/removal */
220 } vram;
221
222 struct notifier_block vmap_notifier;
223 struct shrinker shrinker;
224
225 struct drm_atomic_state *pm_state;
226
227 /**
228 * hangcheck_period: For hang detection, in ms
229 *
230 * Note that in practice, a submit/job will get at least two hangcheck
231 * periods, due to checking for progress being implemented as simply
232 * "have the CP position registers changed since last time?"
233 */
234 unsigned int hangcheck_period;
235
236 /** gpu_devfreq_config: Devfreq tuning config for the GPU. */
> 237 struct devfreq_simple_ondemand_data gpu_devfreq_config;
238
239 /**
240 * gpu_clamp_to_idle: Enable clamping to idle freq when inactive
241 */
242 bool gpu_clamp_to_idle;
243
244 /**
245 * disable_err_irq:
246 *
247 * Disable handling of GPU hw error interrupts, to force fallback to
248 * sw hangcheck timer. Written (via debugfs) by igt tests to test
249 * the sw hangcheck mechanism.
250 */
251 bool disable_err_irq;
252 };
253
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2023-07-26 9:41 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-26 9:39 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-10-23 11:44 [intel-lts:6.1/linux 179/2351] drivers/gpu/drm/msm/msm_drv.h:237:45: error: field 'gpu_devfreq_config' has incomplete type kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202307261727.JpCM00a9-lkp@intel.com \
--to=lkp@intel.com \
--cc=junxiao.chang@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.