Message ID | 20200305155950.2705-21-tzimmermann@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: Convert drivers to drm_simple_encoder_init() | expand |
Hi Thomas, I love your patch! Yet something to improve: [auto build test ERROR on next-20200305] [cannot apply to rockchip/for-next shawnguo/for-next sunxi/sunxi/for-next tegra/for-next linus/master v5.6-rc4 v5.6-rc3 v5.6-rc2 v5.6-rc4] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/drm-Convert-drivers-to-drm_simple_encoder_init/20200306-045931 base: 47466dcf84ee66a973ea7d2fca7e582fe9328932 config: mips-randconfig-a001-20200306 (attached as .config) compiler: mipsel-linux-gcc (GCC) 5.5.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=5.5.0 make.cross ARCH=mips If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@intel.com> All errors (new ones prefixed by >>): drivers/gpu/drm/vkms/vkms_output.c: In function 'vkms_output_init': >> drivers/gpu/drm/vkms/vkms_output.c:70:8: error: implicit declaration of function 'drm_simple_encoder_init' [-Werror=implicit-function-declaration] ret = drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_VIRTUAL); ^ cc1: some warnings being treated as errors vim +/drm_simple_encoder_init +70 drivers/gpu/drm/vkms/vkms_output.c 34 35 int vkms_output_init(struct vkms_device *vkmsdev, int index) 36 { 37 struct vkms_output *output = &vkmsdev->output; 38 struct drm_device *dev = &vkmsdev->drm; 39 struct drm_connector *connector = &output->connector; 40 struct drm_encoder *encoder = &output->encoder; 41 struct drm_crtc *crtc = &output->crtc; 42 struct drm_plane *primary, *cursor = NULL; 43 int ret; 44 45 primary = vkms_plane_init(vkmsdev, DRM_PLANE_TYPE_PRIMARY, index); 46 if (IS_ERR(primary)) 47 return PTR_ERR(primary); 48 49 if (enable_cursor) { 50 cursor = vkms_plane_init(vkmsdev, DRM_PLANE_TYPE_CURSOR, index); 51 if (IS_ERR(cursor)) { 52 ret = PTR_ERR(cursor); 53 goto err_cursor; 54 } 55 } 56 57 ret = vkms_crtc_init(dev, crtc, primary, cursor); 58 if (ret) 59 goto err_crtc; 60 61 ret = drm_connector_init(dev, connector, &vkms_connector_funcs, 62 DRM_MODE_CONNECTOR_VIRTUAL); 63 if (ret) { 64 DRM_ERROR("Failed to init connector\n"); 65 goto err_connector; 66 } 67 68 drm_connector_helper_add(connector, &vkms_conn_helper_funcs); 69 > 70 ret = drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_VIRTUAL); --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Hi Thomas, I love your patch! Yet something to improve: [auto build test ERROR on next-20200305] [cannot apply to rockchip/for-next shawnguo/for-next sunxi/sunxi/for-next tegra/for-next linus/master v5.6-rc4 v5.6-rc3 v5.6-rc2 v5.6-rc4] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/drm-Convert-drivers-to-drm_simple_encoder_init/20200306-045931 base: 47466dcf84ee66a973ea7d2fca7e582fe9328932 config: i386-randconfig-h001-20200307 (attached as .config) compiler: gcc-7 (Debian 7.5.0-5) 7.5.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@intel.com> All errors (new ones prefixed by >>): drivers/gpu//drm/vkms/vkms_output.c: In function 'vkms_output_init': >> drivers/gpu//drm/vkms/vkms_output.c:70:8: error: implicit declaration of function 'drm_simple_encoder_init'; did you mean 'drm_encoder_init'? [-Werror=implicit-function-declaration] ret = drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_VIRTUAL); ^~~~~~~~~~~~~~~~~~~~~~~ drm_encoder_init cc1: some warnings being treated as errors vim +70 drivers/gpu//drm/vkms/vkms_output.c 34 35 int vkms_output_init(struct vkms_device *vkmsdev, int index) 36 { 37 struct vkms_output *output = &vkmsdev->output; 38 struct drm_device *dev = &vkmsdev->drm; 39 struct drm_connector *connector = &output->connector; 40 struct drm_encoder *encoder = &output->encoder; 41 struct drm_crtc *crtc = &output->crtc; 42 struct drm_plane *primary, *cursor = NULL; 43 int ret; 44 45 primary = vkms_plane_init(vkmsdev, DRM_PLANE_TYPE_PRIMARY, index); 46 if (IS_ERR(primary)) 47 return PTR_ERR(primary); 48 49 if (enable_cursor) { 50 cursor = vkms_plane_init(vkmsdev, DRM_PLANE_TYPE_CURSOR, index); 51 if (IS_ERR(cursor)) { 52 ret = PTR_ERR(cursor); 53 goto err_cursor; 54 } 55 } 56 57 ret = vkms_crtc_init(dev, crtc, primary, cursor); 58 if (ret) 59 goto err_crtc; 60 61 ret = drm_connector_init(dev, connector, &vkms_connector_funcs, 62 DRM_MODE_CONNECTOR_VIRTUAL); 63 if (ret) { 64 DRM_ERROR("Failed to init connector\n"); 65 goto err_connector; 66 } 67 68 drm_connector_helper_add(connector, &vkms_conn_helper_funcs); 69 > 70 ret = drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_VIRTUAL); --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Hi Thomas, First of all, thanks for your patch! I applied all your series, compiled it, and when I tried `make INSTALL_MOD_PATH=/PATH/ modules_instal` I got the following message: depmod: ERROR: Cycle detected: drm_kms_helper -> drm -> drm_kms_helper depmod: ERROR: Found 2 modules in dependency cycles! make: *** [Makefile:1317: _modinst_post] Error 1 I cleaned up my local files and tried again, but I got the same error; If I just use `drm-misc-next` everything is fine. Did I miss something? Thanks On 03/05, Thomas Zimmermann wrote: > The vkms driver uses an empty implementation for its encoder. Replace > the code with the generic simple encoder. > > Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> > --- > drivers/gpu/drm/vkms/vkms_output.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/vkms/vkms_output.c b/drivers/gpu/drm/vkms/vkms_output.c > index fb1941a6522c..85afb77e97f0 100644 > --- a/drivers/gpu/drm/vkms/vkms_output.c > +++ b/drivers/gpu/drm/vkms/vkms_output.c > @@ -3,6 +3,7 @@ > #include "vkms_drv.h" > #include <drm/drm_atomic_helper.h> > #include <drm/drm_probe_helper.h> > +#include <drm/drm_simple_kms_helper.h> > > static void vkms_connector_destroy(struct drm_connector *connector) > { > @@ -17,10 +18,6 @@ static const struct drm_connector_funcs vkms_connector_funcs = { > .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, > }; > > -static const struct drm_encoder_funcs vkms_encoder_funcs = { > - .destroy = drm_encoder_cleanup, > -}; > - > static int vkms_conn_get_modes(struct drm_connector *connector) > { > int count; > @@ -70,8 +67,7 @@ int vkms_output_init(struct vkms_device *vkmsdev, int index) > > drm_connector_helper_add(connector, &vkms_conn_helper_funcs); > > - ret = drm_encoder_init(dev, encoder, &vkms_encoder_funcs, > - DRM_MODE_ENCODER_VIRTUAL, NULL); > + ret = drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_VIRTUAL); > if (ret) { > DRM_ERROR("Failed to init encoder\n"); > goto err_encoder; > -- > 2.25.1 >
Hi Am 24.03.20 um 12:59 schrieb Rodrigo Siqueira: > Hi Thomas, > > First of all, thanks for your patch! > > I applied all your series, compiled it, and when I tried > `make INSTALL_MOD_PATH=/PATH/ modules_instal` I got the following > message: > > depmod: ERROR: Cycle detected: drm_kms_helper -> drm -> drm_kms_helper > depmod: ERROR: Found 2 modules in dependency cycles! > make: *** [Makefile:1317: _modinst_post] Error 1 > > I cleaned up my local files and tried again, but I got the same error; > If I just use `drm-misc-next` everything is fine. Did I miss something? I didn't change any module dependencies. Does it happen without this patches? Best regards Thomas > > Thanks > > On 03/05, Thomas Zimmermann wrote: >> The vkms driver uses an empty implementation for its encoder. Replace >> the code with the generic simple encoder. >> >> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> >> --- >> drivers/gpu/drm/vkms/vkms_output.c | 8 ++------ >> 1 file changed, 2 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/gpu/drm/vkms/vkms_output.c b/drivers/gpu/drm/vkms/vkms_output.c >> index fb1941a6522c..85afb77e97f0 100644 >> --- a/drivers/gpu/drm/vkms/vkms_output.c >> +++ b/drivers/gpu/drm/vkms/vkms_output.c >> @@ -3,6 +3,7 @@ >> #include "vkms_drv.h" >> #include <drm/drm_atomic_helper.h> >> #include <drm/drm_probe_helper.h> >> +#include <drm/drm_simple_kms_helper.h> >> >> static void vkms_connector_destroy(struct drm_connector *connector) >> { >> @@ -17,10 +18,6 @@ static const struct drm_connector_funcs vkms_connector_funcs = { >> .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, >> }; >> >> -static const struct drm_encoder_funcs vkms_encoder_funcs = { >> - .destroy = drm_encoder_cleanup, >> -}; >> - >> static int vkms_conn_get_modes(struct drm_connector *connector) >> { >> int count; >> @@ -70,8 +67,7 @@ int vkms_output_init(struct vkms_device *vkmsdev, int index) >> >> drm_connector_helper_add(connector, &vkms_conn_helper_funcs); >> >> - ret = drm_encoder_init(dev, encoder, &vkms_encoder_funcs, >> - DRM_MODE_ENCODER_VIRTUAL, NULL); >> + ret = drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_VIRTUAL); >> if (ret) { >> DRM_ERROR("Failed to init encoder\n"); >> goto err_encoder; >> -- >> 2.25.1 >> >
Hi Am 24.03.20 um 12:59 schrieb Rodrigo Siqueira: > Hi Thomas, > > First of all, thanks for your patch! > > I applied all your series, compiled it, and when I tried > `make INSTALL_MOD_PATH=/PATH/ modules_instal` I got the following > message: > > depmod: ERROR: Cycle detected: drm_kms_helper -> drm -> drm_kms_helper > depmod: ERROR: Found 2 modules in dependency cycles! > make: *** [Makefile:1317: _modinst_post] Error 1 > > I cleaned up my local files and tried again, but I got the same error; > If I just use `drm-misc-next` everything is fine. Did I miss something? I figured out that this problem is caused by the patch for the writeback encoder, which is located in the DRM core. I'll drop the patch. Thanks for testing! Best regards Thomas > > Thanks > > On 03/05, Thomas Zimmermann wrote: >> The vkms driver uses an empty implementation for its encoder. Replace >> the code with the generic simple encoder. >> >> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> >> --- >> drivers/gpu/drm/vkms/vkms_output.c | 8 ++------ >> 1 file changed, 2 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/gpu/drm/vkms/vkms_output.c b/drivers/gpu/drm/vkms/vkms_output.c >> index fb1941a6522c..85afb77e97f0 100644 >> --- a/drivers/gpu/drm/vkms/vkms_output.c >> +++ b/drivers/gpu/drm/vkms/vkms_output.c >> @@ -3,6 +3,7 @@ >> #include "vkms_drv.h" >> #include <drm/drm_atomic_helper.h> >> #include <drm/drm_probe_helper.h> >> +#include <drm/drm_simple_kms_helper.h> >> >> static void vkms_connector_destroy(struct drm_connector *connector) >> { >> @@ -17,10 +18,6 @@ static const struct drm_connector_funcs vkms_connector_funcs = { >> .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, >> }; >> >> -static const struct drm_encoder_funcs vkms_encoder_funcs = { >> - .destroy = drm_encoder_cleanup, >> -}; >> - >> static int vkms_conn_get_modes(struct drm_connector *connector) >> { >> int count; >> @@ -70,8 +67,7 @@ int vkms_output_init(struct vkms_device *vkmsdev, int index) >> >> drm_connector_helper_add(connector, &vkms_conn_helper_funcs); >> >> - ret = drm_encoder_init(dev, encoder, &vkms_encoder_funcs, >> - DRM_MODE_ENCODER_VIRTUAL, NULL); >> + ret = drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_VIRTUAL); >> if (ret) { >> DRM_ERROR("Failed to init encoder\n"); >> goto err_encoder; >> -- >> 2.25.1 >> > > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel >
diff --git a/drivers/gpu/drm/vkms/vkms_output.c b/drivers/gpu/drm/vkms/vkms_output.c index fb1941a6522c..85afb77e97f0 100644 --- a/drivers/gpu/drm/vkms/vkms_output.c +++ b/drivers/gpu/drm/vkms/vkms_output.c @@ -3,6 +3,7 @@ #include "vkms_drv.h" #include <drm/drm_atomic_helper.h> #include <drm/drm_probe_helper.h> +#include <drm/drm_simple_kms_helper.h> static void vkms_connector_destroy(struct drm_connector *connector) { @@ -17,10 +18,6 @@ static const struct drm_connector_funcs vkms_connector_funcs = { .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, }; -static const struct drm_encoder_funcs vkms_encoder_funcs = { - .destroy = drm_encoder_cleanup, -}; - static int vkms_conn_get_modes(struct drm_connector *connector) { int count; @@ -70,8 +67,7 @@ int vkms_output_init(struct vkms_device *vkmsdev, int index) drm_connector_helper_add(connector, &vkms_conn_helper_funcs); - ret = drm_encoder_init(dev, encoder, &vkms_encoder_funcs, - DRM_MODE_ENCODER_VIRTUAL, NULL); + ret = drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_VIRTUAL); if (ret) { DRM_ERROR("Failed to init encoder\n"); goto err_encoder;
The vkms driver uses an empty implementation for its encoder. Replace the code with the generic simple encoder. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> --- drivers/gpu/drm/vkms/vkms_output.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)