Hi Tian, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.12-rc2] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Tian-Tao/drm-writeback-Use-simple-encoder/20210310-153629 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 05a59d79793d482f628a31753c671f2e92178a21 config: x86_64-randconfig-m001-20210308 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://github.com/0day-ci/linux/commit/3c17eccc7f6b0abfae1af4d6672dfdbae2beb9c0 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Tian-Tao/drm-writeback-Use-simple-encoder/20210310-153629 git checkout 3c17eccc7f6b0abfae1af4d6672dfdbae2beb9c0 # save the attached .config to linux build tree make W=1 ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): ld: drivers/gpu/drm/drm_writeback.o: in function `drm_writeback_connector_init': >> drivers/gpu/drm/drm_writeback.c:190: undefined reference to `drm_simple_encoder_init' vim +190 drivers/gpu/drm/drm_writeback.c 148 149 /** 150 * drm_writeback_connector_init - Initialize a writeback connector and its properties 151 * @dev: DRM device 152 * @wb_connector: Writeback connector to initialize 153 * @con_funcs: Connector funcs vtable 154 * @enc_helper_funcs: Encoder helper funcs vtable to be used by the internal encoder 155 * @formats: Array of supported pixel formats for the writeback engine 156 * @n_formats: Length of the formats array 157 * 158 * This function creates the writeback-connector-specific properties if they 159 * have not been already created, initializes the connector as 160 * type DRM_MODE_CONNECTOR_WRITEBACK, and correctly initializes the property 161 * values. It will also create an internal encoder associated with the 162 * drm_writeback_connector and set it to use the @enc_helper_funcs vtable for 163 * the encoder helper. 164 * 165 * Drivers should always use this function instead of drm_connector_init() to 166 * set up writeback connectors. 167 * 168 * Returns: 0 on success, or a negative error code 169 */ 170 int drm_writeback_connector_init(struct drm_device *dev, 171 struct drm_writeback_connector *wb_connector, 172 const struct drm_connector_funcs *con_funcs, 173 const struct drm_encoder_helper_funcs *enc_helper_funcs, 174 const u32 *formats, int n_formats) 175 { 176 struct drm_property_blob *blob; 177 struct drm_connector *connector = &wb_connector->base; 178 struct drm_mode_config *config = &dev->mode_config; 179 int ret = create_writeback_properties(dev); 180 181 if (ret != 0) 182 return ret; 183 184 blob = drm_property_create_blob(dev, n_formats * sizeof(*formats), 185 formats); 186 if (IS_ERR(blob)) 187 return PTR_ERR(blob); 188 189 drm_encoder_helper_add(&wb_connector->encoder, enc_helper_funcs); > 190 ret = drm_simple_encoder_init(dev, &wb_connector->encoder, 191 DRM_MODE_ENCODER_VIRTUAL); 192 if (ret) 193 goto fail; 194 195 connector->interlace_allowed = 0; 196 197 ret = drm_connector_init(dev, connector, con_funcs, 198 DRM_MODE_CONNECTOR_WRITEBACK); 199 if (ret) 200 goto connector_fail; 201 202 ret = drm_connector_attach_encoder(connector, 203 &wb_connector->encoder); 204 if (ret) 205 goto attach_fail; 206 207 INIT_LIST_HEAD(&wb_connector->job_queue); 208 spin_lock_init(&wb_connector->job_lock); 209 210 wb_connector->fence_context = dma_fence_context_alloc(1); 211 spin_lock_init(&wb_connector->fence_lock); 212 snprintf(wb_connector->timeline_name, 213 sizeof(wb_connector->timeline_name), 214 "CONNECTOR:%d-%s", connector->base.id, connector->name); 215 216 drm_object_attach_property(&connector->base, 217 config->writeback_out_fence_ptr_property, 0); 218 219 drm_object_attach_property(&connector->base, 220 config->writeback_fb_id_property, 0); 221 222 drm_object_attach_property(&connector->base, 223 config->writeback_pixel_formats_property, 224 blob->base.id); 225 wb_connector->pixel_formats_blob_ptr = blob; 226 227 return 0; 228 229 attach_fail: 230 drm_connector_cleanup(connector); 231 connector_fail: 232 drm_encoder_cleanup(&wb_connector->encoder); 233 fail: 234 drm_property_blob_put(blob); 235 return ret; 236 } 237 EXPORT_SYMBOL(drm_writeback_connector_init); 238 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel