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 <l...@intel.com>

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-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to