Hi Manasi, Thank you for the patch! Yet something to improve: [auto build test ERROR on drm-intel/for-linux-next] [also build test ERROR on drm-tip/drm-tip drm-exynos/exynos-drm-next linus/master next-20200612] [cannot apply to tegra-drm/drm/tegra/for-next drm/drm-next v5.7] [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/Manasi-Navare/VRR-capable-attach-prop-in-i915-DPCD-helper-VRR-debugfs/20200613-070517 base: git://anongit.freedesktop.org/drm-intel for-linux-next config: x86_64-randconfig-a014-20200613 (attached as .config) compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0 reproduce (this is a W=1 build): # 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 >>, old ones prefixed by <<): drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function 'intel_connector_debugfs_add': >> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2235:2: error: this 'if' clause does not guard... [-Werror=misleading-indentation] if (INTEL_GEN(dev_priv) >= 10 && ^~ drivers/gpu/drm/i915/display/intel_display_debugfs.c:2241:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' if (INTEL_GEN(dev_priv) >= 12) ^~ drivers/gpu/drm/i915/display/intel_display_debugfs.c: At top level: drivers/gpu/drm/i915/display/intel_display_debugfs.c:2247:2: error: expected identifier or '(' before 'if' if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) || ^~ drivers/gpu/drm/i915/display/intel_display_debugfs.c:2257:2: error: expected identifier or '(' before 'return' return 0; ^~~~~~ drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:1: error: expected identifier or '(' before '}' token } ^ drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function 'intel_connector_debugfs_add': drivers/gpu/drm/i915/display/intel_display_debugfs.c:2244:2: error: control reaches end of non-void function [-Werror=return-type] } ^ In file included from include/drm/drm_debugfs.h:36:0, from drivers/gpu/drm/i915/display/intel_display_debugfs.c:6: At top level: >> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2081:23: error: 'i915_lpsp_capability_fops' defined but not used [-Werror=unused-const-variable=] DEFINE_SHOW_ATTRIBUTE(i915_lpsp_capability); ^ include/linux/seq_file.h:154:37: note: in definition of macro 'DEFINE_SHOW_ATTRIBUTE' static const struct file_operations __name ## _fops = { ^~~~~~ cc1: all warnings being treated as errors vim +/if +2235 drivers/gpu/drm/i915/display/intel_display_debugfs.c 926b005cd8c4e3 Jani Nikula 2020-02-11 2040 8806211fe7b306 Anshuman Gupta 2020-04-15 2041 #define LPSP_CAPABLE(COND) (COND ? seq_puts(m, "LPSP: capable\n") : \ 8806211fe7b306 Anshuman Gupta 2020-04-15 2042 seq_puts(m, "LPSP: incapable\n")) 8806211fe7b306 Anshuman Gupta 2020-04-15 2043 8806211fe7b306 Anshuman Gupta 2020-04-15 2044 static int i915_lpsp_capability_show(struct seq_file *m, void *data) 8806211fe7b306 Anshuman Gupta 2020-04-15 2045 { 8806211fe7b306 Anshuman Gupta 2020-04-15 2046 struct drm_connector *connector = m->private; 8806211fe7b306 Anshuman Gupta 2020-04-15 2047 struct intel_encoder *encoder = 8806211fe7b306 Anshuman Gupta 2020-04-15 2048 intel_attached_encoder(to_intel_connector(connector)); 8806211fe7b306 Anshuman Gupta 2020-04-15 2049 struct drm_i915_private *i915 = to_i915(connector->dev); 8806211fe7b306 Anshuman Gupta 2020-04-15 2050 8806211fe7b306 Anshuman Gupta 2020-04-15 2051 if (connector->status != connector_status_connected) 8806211fe7b306 Anshuman Gupta 2020-04-15 2052 return -ENODEV; 8806211fe7b306 Anshuman Gupta 2020-04-15 2053 8806211fe7b306 Anshuman Gupta 2020-04-15 2054 switch (INTEL_GEN(i915)) { 8806211fe7b306 Anshuman Gupta 2020-04-15 2055 case 12: 8806211fe7b306 Anshuman Gupta 2020-04-15 2056 /* 8806211fe7b306 Anshuman Gupta 2020-04-15 2057 * Actually TGL can drive LPSP on port till DDI_C 8806211fe7b306 Anshuman Gupta 2020-04-15 2058 * but there is no physical connected DDI_C on TGL sku's, 8806211fe7b306 Anshuman Gupta 2020-04-15 2059 * even driver is not initilizing DDI_C port for gen12. 8806211fe7b306 Anshuman Gupta 2020-04-15 2060 */ 8806211fe7b306 Anshuman Gupta 2020-04-15 2061 LPSP_CAPABLE(encoder->port <= PORT_B); 8806211fe7b306 Anshuman Gupta 2020-04-15 2062 break; 8806211fe7b306 Anshuman Gupta 2020-04-15 2063 case 11: 8806211fe7b306 Anshuman Gupta 2020-04-15 2064 LPSP_CAPABLE(connector->connector_type == DRM_MODE_CONNECTOR_DSI || 8806211fe7b306 Anshuman Gupta 2020-04-15 2065 connector->connector_type == DRM_MODE_CONNECTOR_eDP); 8806211fe7b306 Anshuman Gupta 2020-04-15 2066 break; 8806211fe7b306 Anshuman Gupta 2020-04-15 2067 case 10: 8806211fe7b306 Anshuman Gupta 2020-04-15 2068 case 9: 8806211fe7b306 Anshuman Gupta 2020-04-15 2069 LPSP_CAPABLE(encoder->port == PORT_A && 8806211fe7b306 Anshuman Gupta 2020-04-15 2070 (connector->connector_type == DRM_MODE_CONNECTOR_DSI || 8806211fe7b306 Anshuman Gupta 2020-04-15 2071 connector->connector_type == DRM_MODE_CONNECTOR_eDP || 8806211fe7b306 Anshuman Gupta 2020-04-15 2072 connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort)); 8806211fe7b306 Anshuman Gupta 2020-04-15 2073 break; 8806211fe7b306 Anshuman Gupta 2020-04-15 2074 default: 8806211fe7b306 Anshuman Gupta 2020-04-15 2075 if (IS_HASWELL(i915) || IS_BROADWELL(i915)) 8806211fe7b306 Anshuman Gupta 2020-04-15 2076 LPSP_CAPABLE(connector->connector_type == DRM_MODE_CONNECTOR_eDP); 8806211fe7b306 Anshuman Gupta 2020-04-15 2077 } 8806211fe7b306 Anshuman Gupta 2020-04-15 2078 8806211fe7b306 Anshuman Gupta 2020-04-15 2079 return 0; 8806211fe7b306 Anshuman Gupta 2020-04-15 2080 } 8806211fe7b306 Anshuman Gupta 2020-04-15 @2081 DEFINE_SHOW_ATTRIBUTE(i915_lpsp_capability); 8806211fe7b306 Anshuman Gupta 2020-04-15 2082 926b005cd8c4e3 Jani Nikula 2020-02-11 2083 static int i915_dsc_fec_support_show(struct seq_file *m, void *data) 926b005cd8c4e3 Jani Nikula 2020-02-11 2084 { 926b005cd8c4e3 Jani Nikula 2020-02-11 2085 struct drm_connector *connector = m->private; 926b005cd8c4e3 Jani Nikula 2020-02-11 2086 struct drm_device *dev = connector->dev; 926b005cd8c4e3 Jani Nikula 2020-02-11 2087 struct drm_crtc *crtc; 926b005cd8c4e3 Jani Nikula 2020-02-11 2088 struct intel_dp *intel_dp; 926b005cd8c4e3 Jani Nikula 2020-02-11 2089 struct drm_modeset_acquire_ctx ctx; 926b005cd8c4e3 Jani Nikula 2020-02-11 2090 struct intel_crtc_state *crtc_state = NULL; 926b005cd8c4e3 Jani Nikula 2020-02-11 2091 int ret = 0; 926b005cd8c4e3 Jani Nikula 2020-02-11 2092 bool try_again = false; 926b005cd8c4e3 Jani Nikula 2020-02-11 2093 926b005cd8c4e3 Jani Nikula 2020-02-11 2094 drm_modeset_acquire_init(&ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE); 926b005cd8c4e3 Jani Nikula 2020-02-11 2095 926b005cd8c4e3 Jani Nikula 2020-02-11 2096 do { 926b005cd8c4e3 Jani Nikula 2020-02-11 2097 try_again = false; 926b005cd8c4e3 Jani Nikula 2020-02-11 2098 ret = drm_modeset_lock(&dev->mode_config.connection_mutex, 926b005cd8c4e3 Jani Nikula 2020-02-11 2099 &ctx); 926b005cd8c4e3 Jani Nikula 2020-02-11 2100 if (ret) { 926b005cd8c4e3 Jani Nikula 2020-02-11 2101 if (ret == -EDEADLK && !drm_modeset_backoff(&ctx)) { 926b005cd8c4e3 Jani Nikula 2020-02-11 2102 try_again = true; 926b005cd8c4e3 Jani Nikula 2020-02-11 2103 continue; 926b005cd8c4e3 Jani Nikula 2020-02-11 2104 } 926b005cd8c4e3 Jani Nikula 2020-02-11 2105 break; 926b005cd8c4e3 Jani Nikula 2020-02-11 2106 } 926b005cd8c4e3 Jani Nikula 2020-02-11 2107 crtc = connector->state->crtc; 926b005cd8c4e3 Jani Nikula 2020-02-11 2108 if (connector->status != connector_status_connected || !crtc) { 926b005cd8c4e3 Jani Nikula 2020-02-11 2109 ret = -ENODEV; 926b005cd8c4e3 Jani Nikula 2020-02-11 2110 break; 926b005cd8c4e3 Jani Nikula 2020-02-11 2111 } 926b005cd8c4e3 Jani Nikula 2020-02-11 2112 ret = drm_modeset_lock(&crtc->mutex, &ctx); 926b005cd8c4e3 Jani Nikula 2020-02-11 2113 if (ret == -EDEADLK) { 926b005cd8c4e3 Jani Nikula 2020-02-11 2114 ret = drm_modeset_backoff(&ctx); 926b005cd8c4e3 Jani Nikula 2020-02-11 2115 if (!ret) { 926b005cd8c4e3 Jani Nikula 2020-02-11 2116 try_again = true; 926b005cd8c4e3 Jani Nikula 2020-02-11 2117 continue; 926b005cd8c4e3 Jani Nikula 2020-02-11 2118 } 926b005cd8c4e3 Jani Nikula 2020-02-11 2119 break; 926b005cd8c4e3 Jani Nikula 2020-02-11 2120 } else if (ret) { 926b005cd8c4e3 Jani Nikula 2020-02-11 2121 break; 926b005cd8c4e3 Jani Nikula 2020-02-11 2122 } 926b005cd8c4e3 Jani Nikula 2020-02-11 2123 intel_dp = intel_attached_dp(to_intel_connector(connector)); 926b005cd8c4e3 Jani Nikula 2020-02-11 2124 crtc_state = to_intel_crtc_state(crtc->state); 926b005cd8c4e3 Jani Nikula 2020-02-11 2125 seq_printf(m, "DSC_Enabled: %s\n", 926b005cd8c4e3 Jani Nikula 2020-02-11 2126 yesno(crtc_state->dsc.compression_enable)); 926b005cd8c4e3 Jani Nikula 2020-02-11 2127 seq_printf(m, "DSC_Sink_Support: %s\n", 926b005cd8c4e3 Jani Nikula 2020-02-11 2128 yesno(drm_dp_sink_supports_dsc(intel_dp->dsc_dpcd))); 926b005cd8c4e3 Jani Nikula 2020-02-11 2129 seq_printf(m, "Force_DSC_Enable: %s\n", 926b005cd8c4e3 Jani Nikula 2020-02-11 2130 yesno(intel_dp->force_dsc_en)); 926b005cd8c4e3 Jani Nikula 2020-02-11 2131 if (!intel_dp_is_edp(intel_dp)) 926b005cd8c4e3 Jani Nikula 2020-02-11 2132 seq_printf(m, "FEC_Sink_Support: %s\n", 926b005cd8c4e3 Jani Nikula 2020-02-11 2133 yesno(drm_dp_sink_supports_fec(intel_dp->fec_capable))); 926b005cd8c4e3 Jani Nikula 2020-02-11 2134 } while (try_again); 926b005cd8c4e3 Jani Nikula 2020-02-11 2135 926b005cd8c4e3 Jani Nikula 2020-02-11 2136 drm_modeset_drop_locks(&ctx); 926b005cd8c4e3 Jani Nikula 2020-02-11 2137 drm_modeset_acquire_fini(&ctx); 926b005cd8c4e3 Jani Nikula 2020-02-11 2138 926b005cd8c4e3 Jani Nikula 2020-02-11 2139 return ret; 926b005cd8c4e3 Jani Nikula 2020-02-11 2140 } 926b005cd8c4e3 Jani Nikula 2020-02-11 2141 926b005cd8c4e3 Jani Nikula 2020-02-11 2142 static ssize_t i915_dsc_fec_support_write(struct file *file, 926b005cd8c4e3 Jani Nikula 2020-02-11 2143 const char __user *ubuf, 926b005cd8c4e3 Jani Nikula 2020-02-11 2144 size_t len, loff_t *offp) 926b005cd8c4e3 Jani Nikula 2020-02-11 2145 { 926b005cd8c4e3 Jani Nikula 2020-02-11 2146 bool dsc_enable = false; 926b005cd8c4e3 Jani Nikula 2020-02-11 2147 int ret; 926b005cd8c4e3 Jani Nikula 2020-02-11 2148 struct drm_connector *connector = 926b005cd8c4e3 Jani Nikula 2020-02-11 2149 ((struct seq_file *)file->private_data)->private; 926b005cd8c4e3 Jani Nikula 2020-02-11 2150 struct intel_encoder *encoder = intel_attached_encoder(to_intel_connector(connector)); 926b005cd8c4e3 Jani Nikula 2020-02-11 2151 struct drm_i915_private *i915 = to_i915(encoder->base.dev); 926b005cd8c4e3 Jani Nikula 2020-02-11 2152 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); 926b005cd8c4e3 Jani Nikula 2020-02-11 2153 926b005cd8c4e3 Jani Nikula 2020-02-11 2154 if (len == 0) 926b005cd8c4e3 Jani Nikula 2020-02-11 2155 return 0; 926b005cd8c4e3 Jani Nikula 2020-02-11 2156 926b005cd8c4e3 Jani Nikula 2020-02-11 2157 drm_dbg(&i915->drm, 926b005cd8c4e3 Jani Nikula 2020-02-11 2158 "Copied %zu bytes from user to force DSC\n", len); 926b005cd8c4e3 Jani Nikula 2020-02-11 2159 926b005cd8c4e3 Jani Nikula 2020-02-11 2160 ret = kstrtobool_from_user(ubuf, len, &dsc_enable); 926b005cd8c4e3 Jani Nikula 2020-02-11 2161 if (ret < 0) 926b005cd8c4e3 Jani Nikula 2020-02-11 2162 return ret; 926b005cd8c4e3 Jani Nikula 2020-02-11 2163 926b005cd8c4e3 Jani Nikula 2020-02-11 2164 drm_dbg(&i915->drm, "Got %s for DSC Enable\n", 926b005cd8c4e3 Jani Nikula 2020-02-11 2165 (dsc_enable) ? "true" : "false"); 926b005cd8c4e3 Jani Nikula 2020-02-11 2166 intel_dp->force_dsc_en = dsc_enable; 926b005cd8c4e3 Jani Nikula 2020-02-11 2167 926b005cd8c4e3 Jani Nikula 2020-02-11 2168 *offp += len; 926b005cd8c4e3 Jani Nikula 2020-02-11 2169 return len; 926b005cd8c4e3 Jani Nikula 2020-02-11 2170 } 926b005cd8c4e3 Jani Nikula 2020-02-11 2171 926b005cd8c4e3 Jani Nikula 2020-02-11 2172 static int i915_dsc_fec_support_open(struct inode *inode, 926b005cd8c4e3 Jani Nikula 2020-02-11 2173 struct file *file) 926b005cd8c4e3 Jani Nikula 2020-02-11 2174 { 926b005cd8c4e3 Jani Nikula 2020-02-11 2175 return single_open(file, i915_dsc_fec_support_show, 926b005cd8c4e3 Jani Nikula 2020-02-11 2176 inode->i_private); 926b005cd8c4e3 Jani Nikula 2020-02-11 2177 } 926b005cd8c4e3 Jani Nikula 2020-02-11 2178 926b005cd8c4e3 Jani Nikula 2020-02-11 2179 static const struct file_operations i915_dsc_fec_support_fops = { 926b005cd8c4e3 Jani Nikula 2020-02-11 2180 .owner = THIS_MODULE, 926b005cd8c4e3 Jani Nikula 2020-02-11 2181 .open = i915_dsc_fec_support_open, 926b005cd8c4e3 Jani Nikula 2020-02-11 2182 .read = seq_read, 926b005cd8c4e3 Jani Nikula 2020-02-11 2183 .llseek = seq_lseek, 926b005cd8c4e3 Jani Nikula 2020-02-11 2184 .release = single_release, 926b005cd8c4e3 Jani Nikula 2020-02-11 2185 .write = i915_dsc_fec_support_write 926b005cd8c4e3 Jani Nikula 2020-02-11 2186 }; 926b005cd8c4e3 Jani Nikula 2020-02-11 2187 670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 2188 static int vrr_range_show(struct seq_file *m, void *data) 670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 2189 { 670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 2190 struct drm_connector *connector = m->private; 670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 2191 670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 2192 if (connector->status != connector_status_connected) 670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 2193 return -ENODEV; 670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 2194 670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 2195 seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector))); 670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 2196 seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq); 670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 2197 seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq); 670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 2198 670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 2199 return 0; 670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 2200 } 670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 2201 DEFINE_SHOW_ATTRIBUTE(vrr_range); 670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 2202 926b005cd8c4e3 Jani Nikula 2020-02-11 2203 /** 926b005cd8c4e3 Jani Nikula 2020-02-11 2204 * intel_connector_debugfs_add - add i915 specific connector debugfs files 926b005cd8c4e3 Jani Nikula 2020-02-11 2205 * @connector: pointer to a registered drm_connector 926b005cd8c4e3 Jani Nikula 2020-02-11 2206 * 926b005cd8c4e3 Jani Nikula 2020-02-11 2207 * Cleanup will be done by drm_connector_unregister() through a call to 926b005cd8c4e3 Jani Nikula 2020-02-11 2208 * drm_debugfs_connector_remove(). 926b005cd8c4e3 Jani Nikula 2020-02-11 2209 * 926b005cd8c4e3 Jani Nikula 2020-02-11 2210 * Returns 0 on success, negative error codes on error. 926b005cd8c4e3 Jani Nikula 2020-02-11 2211 */ 926b005cd8c4e3 Jani Nikula 2020-02-11 2212 int intel_connector_debugfs_add(struct drm_connector *connector) 926b005cd8c4e3 Jani Nikula 2020-02-11 2213 { 926b005cd8c4e3 Jani Nikula 2020-02-11 2214 struct dentry *root = connector->debugfs_entry; 926b005cd8c4e3 Jani Nikula 2020-02-11 2215 struct drm_i915_private *dev_priv = to_i915(connector->dev); 926b005cd8c4e3 Jani Nikula 2020-02-11 2216 926b005cd8c4e3 Jani Nikula 2020-02-11 2217 /* The connector must have been registered beforehands. */ 926b005cd8c4e3 Jani Nikula 2020-02-11 2218 if (!root) 926b005cd8c4e3 Jani Nikula 2020-02-11 2219 return -ENODEV; 926b005cd8c4e3 Jani Nikula 2020-02-11 2220 926b005cd8c4e3 Jani Nikula 2020-02-11 2221 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { 926b005cd8c4e3 Jani Nikula 2020-02-11 2222 debugfs_create_file("i915_panel_timings", S_IRUGO, root, 926b005cd8c4e3 Jani Nikula 2020-02-11 2223 connector, &i915_panel_fops); 926b005cd8c4e3 Jani Nikula 2020-02-11 2224 debugfs_create_file("i915_psr_sink_status", S_IRUGO, root, 926b005cd8c4e3 Jani Nikula 2020-02-11 2225 connector, &i915_psr_sink_status_fops); 926b005cd8c4e3 Jani Nikula 2020-02-11 2226 } 926b005cd8c4e3 Jani Nikula 2020-02-11 2227 926b005cd8c4e3 Jani Nikula 2020-02-11 2228 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort || 926b005cd8c4e3 Jani Nikula 2020-02-11 2229 connector->connector_type == DRM_MODE_CONNECTOR_HDMIA || 926b005cd8c4e3 Jani Nikula 2020-02-11 2230 connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) { 926b005cd8c4e3 Jani Nikula 2020-02-11 2231 debugfs_create_file("i915_hdcp_sink_capability", S_IRUGO, root, 926b005cd8c4e3 Jani Nikula 2020-02-11 2232 connector, &i915_hdcp_sink_capability_fops); 926b005cd8c4e3 Jani Nikula 2020-02-11 2233 } 926b005cd8c4e3 Jani Nikula 2020-02-11 2234 926b005cd8c4e3 Jani Nikula 2020-02-11 @2235 if (INTEL_GEN(dev_priv) >= 10 && :::::: The code at line 2235 was first introduced by commit :::::: 926b005cd8c4e325ab918edea0fbdd1d25d1ba28 drm/i915: split out display debugfs to a separate file :::::: TO: Jani Nikula <jani.nikula@xxxxxxxxx> :::::: CC: Jani Nikula <jani.nikula@xxxxxxxxx> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip
_______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx