Message ID | 1471035647-5384-1-git-send-email-anusha.srivatsa@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Anusha, [auto build test ERROR on drm/drm-next] [also build test ERROR on v4.8-rc1 next-20160812] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Anusha-Srivatsa/drm-i915-mst-Validate-modes-against-available-link-bandwidth/20160813-050818 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: i386-randconfig-x014-201632 (attached as .config) compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705 reproduce: # save the attached .config to linux build tree make ARCH=i386 Note: the linux-review/Anusha-Srivatsa/drm-i915-mst-Validate-modes-against-available-link-bandwidth/20160813-050818 HEAD 413b1bb45dc2c58540a17c5ca642b6aee2c97405 builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): drivers/gpu/drm/i915/intel_dp_mst.c: In function 'intel_dp_mst_mode_valid': >> drivers/gpu/drm/i915/intel_dp_mst.c:363:14: error: implicit declaration of function 'drm_dp_mst_get_avail_pbn' [-Werror=implicit-function-declaration] avail_pbn = drm_dp_mst_get_avail_pbn(mgr, port); ^~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/drm_dp_mst_get_avail_pbn +363 drivers/gpu/drm/i915/intel_dp_mst.c 357 struct intel_connector *intel_connector = to_intel_connector(connector); 358 struct intel_dp *intel_dp = intel_connector->mst_port; 359 struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst_mgr; 360 struct drm_dp_mst_port *port = (struct drm_dp_mst_port *) (intel_connector->port); 361 int max_dotclk = to_i915(connector->dev)->max_dotclk_freq; 362 > 363 avail_pbn = drm_dp_mst_get_avail_pbn(mgr, port); 364 req_pbn = drm_dp_calc_pbn_mode(mode->clock, 24); 365 if (req_pbn > avail_pbn) 366 return MODE_H_ILLEGAL; --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
On Sat, 13 Aug 2016, kbuild test robot <lkp@intel.com> wrote: > Hi Anusha, > > [auto build test ERROR on drm/drm-next] > [also build test ERROR on v4.8-rc1 next-20160812] > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] > > url: https://github.com/0day-ci/linux/commits/Anusha-Srivatsa/drm-i915-mst-Validate-modes-against-available-link-bandwidth/20160813-050818 > base: git://people.freedesktop.org/~airlied/linux.git drm-next > config: i386-randconfig-x014-201632 (attached as .config) > compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705 > reproduce: > # save the attached .config to linux build tree > make ARCH=i386 > > Note: the linux-review/Anusha-Srivatsa/drm-i915-mst-Validate-modes-against-available-link-bandwidth/20160813-050818 HEAD 413b1bb45dc2c58540a17c5ca642b6aee2c97405 builds fine. > It only hurts bisectibility. The patches are in the wrong order. BR, Jani. > > All errors (new ones prefixed by >>): > > drivers/gpu/drm/i915/intel_dp_mst.c: In function 'intel_dp_mst_mode_valid': >>> drivers/gpu/drm/i915/intel_dp_mst.c:363:14: error: implicit declaration of function 'drm_dp_mst_get_avail_pbn' [-Werror=implicit-function-declaration] > avail_pbn = drm_dp_mst_get_avail_pbn(mgr, port); > ^~~~~~~~~~~~~~~~~~~~~~~~ > cc1: some warnings being treated as errors > > vim +/drm_dp_mst_get_avail_pbn +363 drivers/gpu/drm/i915/intel_dp_mst.c > > 357 struct intel_connector *intel_connector = to_intel_connector(connector); > 358 struct intel_dp *intel_dp = intel_connector->mst_port; > 359 struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst_mgr; > 360 struct drm_dp_mst_port *port = (struct drm_dp_mst_port *) (intel_connector->port); > 361 int max_dotclk = to_i915(connector->dev)->max_dotclk_freq; > 362 > > 363 avail_pbn = drm_dp_mst_get_avail_pbn(mgr, port); > 364 req_pbn = drm_dp_calc_pbn_mode(mode->clock, 24); > 365 if (req_pbn > avail_pbn) > 366 return MODE_H_ILLEGAL; > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
On Sat, 13 Aug 2016, Anusha Srivatsa <anusha.srivatsa@intel.com> wrote: > Validate the modes against available link bandwidth rather than > maximum link bandwidth so that we have a better idea as to whether > a proposed mode can truly run beside existing stream. But if the existing link was trained for the existing stream, there isn't necessarily any bandwidth left. I'd think this is something that the up front link training + atomic mode setting will take care of. BR, Jani. > > v2: Put the Signed-off to the end of the commit message > > Cc: dhinakaran.pandiyan@intel.com > > Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com> > --- > drivers/gpu/drm/i915/intel_dp_mst.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c > index 629337d..e7e87d7 100644 > --- a/drivers/gpu/drm/i915/intel_dp_mst.c > +++ b/drivers/gpu/drm/i915/intel_dp_mst.c > @@ -352,13 +352,23 @@ static enum drm_mode_status > intel_dp_mst_mode_valid(struct drm_connector *connector, > struct drm_display_mode *mode) > { > + int req_pbn = 0; > + int avail_pbn = 0; > + struct intel_connector *intel_connector = to_intel_connector(connector); > + struct intel_dp *intel_dp = intel_connector->mst_port; > + struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst_mgr; > + struct drm_dp_mst_port *port = (struct drm_dp_mst_port *) (intel_connector->port); > int max_dotclk = to_i915(connector->dev)->max_dotclk_freq; > > - /* TODO - validate mode against available PBN for link */ > + avail_pbn = drm_dp_mst_get_avail_pbn(mgr, port); > + req_pbn = drm_dp_calc_pbn_mode(mode->clock, 24); > + if (req_pbn > avail_pbn) > + return MODE_H_ILLEGAL; > + > if (mode->clock < 10000) > return MODE_CLOCK_LOW; > > - if (mode->flags & DRM_MODE_FLAG_DBLCLK) > + if (mode->flags & DRM_MODE_FLAG_DBLCLK) > return MODE_H_ILLEGAL; > > if (mode->clock > max_dotclk)
-----Original Message----- From: Jani Nikula [mailto:jani.nikula@linux.intel.com] Sent: Tuesday, August 16, 2016 4:24 AM To: Srivatsa, Anusha <anusha.srivatsa@intel.com>; intel-gfx@lists.freedesktop.org Cc: Pandiyan, Dhinakaran <dhinakaran.pandiyan@intel.com> Subject: Re: [Intel-gfx] [PATCH v2 1/2] drm/i915/mst: Validate modes against available link bandwidth On Sat, 13 Aug 2016, Anusha Srivatsa <anusha.srivatsa@intel.com> wrote: > Validate the modes against available link bandwidth rather than > maximum link bandwidth so that we have a better idea as to whether a > proposed mode can truly run beside existing stream. But if the existing link was trained for the existing stream, there isn't necessarily any bandwidth left. I'd think this is something that the up front link training + atomic mode setting will take care of. The link training is done once for the link and not everytime we add a new sink device. In MST mode, as and when a new sink device is added, the total link bandwidth reduces and hence we need to compare with the available bandwidth rather than the total link bandwidth. -Anusha BR, Jani. > > v2: Put the Signed-off to the end of the commit message > > Cc: dhinakaran.pandiyan@intel.com > > Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com> > --- > drivers/gpu/drm/i915/intel_dp_mst.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c > b/drivers/gpu/drm/i915/intel_dp_mst.c > index 629337d..e7e87d7 100644 > --- a/drivers/gpu/drm/i915/intel_dp_mst.c > +++ b/drivers/gpu/drm/i915/intel_dp_mst.c > @@ -352,13 +352,23 @@ static enum drm_mode_status > intel_dp_mst_mode_valid(struct drm_connector *connector, > struct drm_display_mode *mode) > { > + int req_pbn = 0; > + int avail_pbn = 0; > + struct intel_connector *intel_connector = to_intel_connector(connector); > + struct intel_dp *intel_dp = intel_connector->mst_port; > + struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst_mgr; > + struct drm_dp_mst_port *port = (struct drm_dp_mst_port *) > +(intel_connector->port); > int max_dotclk = to_i915(connector->dev)->max_dotclk_freq; > > - /* TODO - validate mode against available PBN for link */ > + avail_pbn = drm_dp_mst_get_avail_pbn(mgr, port); > + req_pbn = drm_dp_calc_pbn_mode(mode->clock, 24); > + if (req_pbn > avail_pbn) > + return MODE_H_ILLEGAL; > + > if (mode->clock < 10000) > return MODE_CLOCK_LOW; > > - if (mode->flags & DRM_MODE_FLAG_DBLCLK) > + if (mode->flags & DRM_MODE_FLAG_DBLCLK) > return MODE_H_ILLEGAL; > > if (mode->clock > max_dotclk) -- Jani Nikula, Intel Open Source Technology Center
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index 629337d..e7e87d7 100644 --- a/drivers/gpu/drm/i915/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/intel_dp_mst.c @@ -352,13 +352,23 @@ static enum drm_mode_status intel_dp_mst_mode_valid(struct drm_connector *connector, struct drm_display_mode *mode) { + int req_pbn = 0; + int avail_pbn = 0; + struct intel_connector *intel_connector = to_intel_connector(connector); + struct intel_dp *intel_dp = intel_connector->mst_port; + struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst_mgr; + struct drm_dp_mst_port *port = (struct drm_dp_mst_port *) (intel_connector->port); int max_dotclk = to_i915(connector->dev)->max_dotclk_freq; - /* TODO - validate mode against available PBN for link */ + avail_pbn = drm_dp_mst_get_avail_pbn(mgr, port); + req_pbn = drm_dp_calc_pbn_mode(mode->clock, 24); + if (req_pbn > avail_pbn) + return MODE_H_ILLEGAL; + if (mode->clock < 10000) return MODE_CLOCK_LOW; - if (mode->flags & DRM_MODE_FLAG_DBLCLK) + if (mode->flags & DRM_MODE_FLAG_DBLCLK) return MODE_H_ILLEGAL; if (mode->clock > max_dotclk)
Validate the modes against available link bandwidth rather than maximum link bandwidth so that we have a better idea as to whether a proposed mode can truly run beside existing stream. v2: Put the Signed-off to the end of the commit message Cc: dhinakaran.pandiyan@intel.com Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com> --- drivers/gpu/drm/i915/intel_dp_mst.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-)