* [drm-drm-intel:drm-intel-next 7/8] drivers/gpu/drm/i915/display/skl_scaler.c:253 skl_update_scaler_plane() error: we previously assumed 'fb' could be null (see line 237)
@ 2021-02-15 11:02 ` Dan Carpenter
0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2021-02-15 11:02 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 7127 bytes --]
tree: git://anongit.freedesktop.org/drm/drm-intel drm-intel-next
head: 81637a6ede89b95b6ea7b2f8c594676881110890
commit: 714b1cdb02ee670be1ec5b1190377fef3845acd9 [7/8] drm/i915: refactor skylake scaler code into new file.
config: x86_64-randconfig-m031-20210211 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/gpu/drm/i915/display/skl_scaler.c:253 skl_update_scaler_plane() error: we previously assumed 'fb' could be null (see line 237)
vim +/fb +253 drivers/gpu/drm/i915/display/skl_scaler.c
714b1cdb02ee67 Dave Airlie 2021-02-05 213 int skl_update_scaler_plane(struct intel_crtc_state *crtc_state,
714b1cdb02ee67 Dave Airlie 2021-02-05 214 struct intel_plane_state *plane_state)
714b1cdb02ee67 Dave Airlie 2021-02-05 215 {
714b1cdb02ee67 Dave Airlie 2021-02-05 216 struct intel_plane *intel_plane =
714b1cdb02ee67 Dave Airlie 2021-02-05 217 to_intel_plane(plane_state->uapi.plane);
714b1cdb02ee67 Dave Airlie 2021-02-05 218 struct drm_i915_private *dev_priv = to_i915(intel_plane->base.dev);
714b1cdb02ee67 Dave Airlie 2021-02-05 219 struct drm_framebuffer *fb = plane_state->hw.fb;
714b1cdb02ee67 Dave Airlie 2021-02-05 220 int ret;
714b1cdb02ee67 Dave Airlie 2021-02-05 221 bool force_detach = !fb || !plane_state->uapi.visible;
All this code assumes "fb" can be NULL.
714b1cdb02ee67 Dave Airlie 2021-02-05 222 bool need_scaler = false;
714b1cdb02ee67 Dave Airlie 2021-02-05 223
714b1cdb02ee67 Dave Airlie 2021-02-05 224 /* Pre-gen11 and SDR planes always need a scaler for planar formats. */
714b1cdb02ee67 Dave Airlie 2021-02-05 225 if (!icl_is_hdr_plane(dev_priv, intel_plane->id) &&
714b1cdb02ee67 Dave Airlie 2021-02-05 226 fb && intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier))
714b1cdb02ee67 Dave Airlie 2021-02-05 227 need_scaler = true;
714b1cdb02ee67 Dave Airlie 2021-02-05 228
714b1cdb02ee67 Dave Airlie 2021-02-05 229 ret = skl_update_scaler(crtc_state, force_detach,
714b1cdb02ee67 Dave Airlie 2021-02-05 230 drm_plane_index(&intel_plane->base),
714b1cdb02ee67 Dave Airlie 2021-02-05 231 &plane_state->scaler_id,
714b1cdb02ee67 Dave Airlie 2021-02-05 232 drm_rect_width(&plane_state->uapi.src) >> 16,
714b1cdb02ee67 Dave Airlie 2021-02-05 233 drm_rect_height(&plane_state->uapi.src) >> 16,
714b1cdb02ee67 Dave Airlie 2021-02-05 234 drm_rect_width(&plane_state->uapi.dst),
714b1cdb02ee67 Dave Airlie 2021-02-05 235 drm_rect_height(&plane_state->uapi.dst),
714b1cdb02ee67 Dave Airlie 2021-02-05 236 fb ? fb->format : NULL,
714b1cdb02ee67 Dave Airlie 2021-02-05 @237 fb ? fb->modifier : 0,
714b1cdb02ee67 Dave Airlie 2021-02-05 238 need_scaler);
714b1cdb02ee67 Dave Airlie 2021-02-05 239
714b1cdb02ee67 Dave Airlie 2021-02-05 240 if (ret || plane_state->scaler_id < 0)
714b1cdb02ee67 Dave Airlie 2021-02-05 241 return ret;
714b1cdb02ee67 Dave Airlie 2021-02-05 242
714b1cdb02ee67 Dave Airlie 2021-02-05 243 /* check colorkey */
714b1cdb02ee67 Dave Airlie 2021-02-05 244 if (plane_state->ckey.flags) {
714b1cdb02ee67 Dave Airlie 2021-02-05 245 drm_dbg_kms(&dev_priv->drm,
714b1cdb02ee67 Dave Airlie 2021-02-05 246 "[PLANE:%d:%s] scaling with color key not allowed",
714b1cdb02ee67 Dave Airlie 2021-02-05 247 intel_plane->base.base.id,
714b1cdb02ee67 Dave Airlie 2021-02-05 248 intel_plane->base.name);
714b1cdb02ee67 Dave Airlie 2021-02-05 249 return -EINVAL;
714b1cdb02ee67 Dave Airlie 2021-02-05 250 }
714b1cdb02ee67 Dave Airlie 2021-02-05 251
714b1cdb02ee67 Dave Airlie 2021-02-05 252 /* Check src format */
714b1cdb02ee67 Dave Airlie 2021-02-05 @253 switch (fb->format->format) {
^^^^^^^^^^^^
Unchecked dereference.
714b1cdb02ee67 Dave Airlie 2021-02-05 254 case DRM_FORMAT_RGB565:
714b1cdb02ee67 Dave Airlie 2021-02-05 255 case DRM_FORMAT_XBGR8888:
714b1cdb02ee67 Dave Airlie 2021-02-05 256 case DRM_FORMAT_XRGB8888:
714b1cdb02ee67 Dave Airlie 2021-02-05 257 case DRM_FORMAT_ABGR8888:
714b1cdb02ee67 Dave Airlie 2021-02-05 258 case DRM_FORMAT_ARGB8888:
714b1cdb02ee67 Dave Airlie 2021-02-05 259 case DRM_FORMAT_XRGB2101010:
714b1cdb02ee67 Dave Airlie 2021-02-05 260 case DRM_FORMAT_XBGR2101010:
714b1cdb02ee67 Dave Airlie 2021-02-05 261 case DRM_FORMAT_ARGB2101010:
714b1cdb02ee67 Dave Airlie 2021-02-05 262 case DRM_FORMAT_ABGR2101010:
714b1cdb02ee67 Dave Airlie 2021-02-05 263 case DRM_FORMAT_YUYV:
714b1cdb02ee67 Dave Airlie 2021-02-05 264 case DRM_FORMAT_YVYU:
714b1cdb02ee67 Dave Airlie 2021-02-05 265 case DRM_FORMAT_UYVY:
714b1cdb02ee67 Dave Airlie 2021-02-05 266 case DRM_FORMAT_VYUY:
714b1cdb02ee67 Dave Airlie 2021-02-05 267 case DRM_FORMAT_NV12:
714b1cdb02ee67 Dave Airlie 2021-02-05 268 case DRM_FORMAT_XYUV8888:
714b1cdb02ee67 Dave Airlie 2021-02-05 269 case DRM_FORMAT_P010:
714b1cdb02ee67 Dave Airlie 2021-02-05 270 case DRM_FORMAT_P012:
714b1cdb02ee67 Dave Airlie 2021-02-05 271 case DRM_FORMAT_P016:
714b1cdb02ee67 Dave Airlie 2021-02-05 272 case DRM_FORMAT_Y210:
714b1cdb02ee67 Dave Airlie 2021-02-05 273 case DRM_FORMAT_Y212:
714b1cdb02ee67 Dave Airlie 2021-02-05 274 case DRM_FORMAT_Y216:
714b1cdb02ee67 Dave Airlie 2021-02-05 275 case DRM_FORMAT_XVYU2101010:
714b1cdb02ee67 Dave Airlie 2021-02-05 276 case DRM_FORMAT_XVYU12_16161616:
714b1cdb02ee67 Dave Airlie 2021-02-05 277 case DRM_FORMAT_XVYU16161616:
714b1cdb02ee67 Dave Airlie 2021-02-05 278 break;
714b1cdb02ee67 Dave Airlie 2021-02-05 279 case DRM_FORMAT_XBGR16161616F:
714b1cdb02ee67 Dave Airlie 2021-02-05 280 case DRM_FORMAT_ABGR16161616F:
714b1cdb02ee67 Dave Airlie 2021-02-05 281 case DRM_FORMAT_XRGB16161616F:
714b1cdb02ee67 Dave Airlie 2021-02-05 282 case DRM_FORMAT_ARGB16161616F:
714b1cdb02ee67 Dave Airlie 2021-02-05 283 if (INTEL_GEN(dev_priv) >= 11)
714b1cdb02ee67 Dave Airlie 2021-02-05 284 break;
714b1cdb02ee67 Dave Airlie 2021-02-05 285 fallthrough;
714b1cdb02ee67 Dave Airlie 2021-02-05 286 default:
714b1cdb02ee67 Dave Airlie 2021-02-05 287 drm_dbg_kms(&dev_priv->drm,
714b1cdb02ee67 Dave Airlie 2021-02-05 288 "[PLANE:%d:%s] FB:%d unsupported scaling format 0x%x\n",
714b1cdb02ee67 Dave Airlie 2021-02-05 289 intel_plane->base.base.id, intel_plane->base.name,
714b1cdb02ee67 Dave Airlie 2021-02-05 290 fb->base.id, fb->format->format);
714b1cdb02ee67 Dave Airlie 2021-02-05 291 return -EINVAL;
714b1cdb02ee67 Dave Airlie 2021-02-05 292 }
714b1cdb02ee67 Dave Airlie 2021-02-05 293
714b1cdb02ee67 Dave Airlie 2021-02-05 294 return 0;
714b1cdb02ee67 Dave Airlie 2021-02-05 295 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 33873 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* [drm-drm-intel:drm-intel-next 7/8] drivers/gpu/drm/i915/display/skl_scaler.c:253 skl_update_scaler_plane() error: we previously assumed 'fb' could be null (see line 237)
@ 2021-02-15 11:02 ` Dan Carpenter
0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2021-02-15 11:02 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 7127 bytes --]
tree: git://anongit.freedesktop.org/drm/drm-intel drm-intel-next
head: 81637a6ede89b95b6ea7b2f8c594676881110890
commit: 714b1cdb02ee670be1ec5b1190377fef3845acd9 [7/8] drm/i915: refactor skylake scaler code into new file.
config: x86_64-randconfig-m031-20210211 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/gpu/drm/i915/display/skl_scaler.c:253 skl_update_scaler_plane() error: we previously assumed 'fb' could be null (see line 237)
vim +/fb +253 drivers/gpu/drm/i915/display/skl_scaler.c
714b1cdb02ee67 Dave Airlie 2021-02-05 213 int skl_update_scaler_plane(struct intel_crtc_state *crtc_state,
714b1cdb02ee67 Dave Airlie 2021-02-05 214 struct intel_plane_state *plane_state)
714b1cdb02ee67 Dave Airlie 2021-02-05 215 {
714b1cdb02ee67 Dave Airlie 2021-02-05 216 struct intel_plane *intel_plane =
714b1cdb02ee67 Dave Airlie 2021-02-05 217 to_intel_plane(plane_state->uapi.plane);
714b1cdb02ee67 Dave Airlie 2021-02-05 218 struct drm_i915_private *dev_priv = to_i915(intel_plane->base.dev);
714b1cdb02ee67 Dave Airlie 2021-02-05 219 struct drm_framebuffer *fb = plane_state->hw.fb;
714b1cdb02ee67 Dave Airlie 2021-02-05 220 int ret;
714b1cdb02ee67 Dave Airlie 2021-02-05 221 bool force_detach = !fb || !plane_state->uapi.visible;
All this code assumes "fb" can be NULL.
714b1cdb02ee67 Dave Airlie 2021-02-05 222 bool need_scaler = false;
714b1cdb02ee67 Dave Airlie 2021-02-05 223
714b1cdb02ee67 Dave Airlie 2021-02-05 224 /* Pre-gen11 and SDR planes always need a scaler for planar formats. */
714b1cdb02ee67 Dave Airlie 2021-02-05 225 if (!icl_is_hdr_plane(dev_priv, intel_plane->id) &&
714b1cdb02ee67 Dave Airlie 2021-02-05 226 fb && intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier))
714b1cdb02ee67 Dave Airlie 2021-02-05 227 need_scaler = true;
714b1cdb02ee67 Dave Airlie 2021-02-05 228
714b1cdb02ee67 Dave Airlie 2021-02-05 229 ret = skl_update_scaler(crtc_state, force_detach,
714b1cdb02ee67 Dave Airlie 2021-02-05 230 drm_plane_index(&intel_plane->base),
714b1cdb02ee67 Dave Airlie 2021-02-05 231 &plane_state->scaler_id,
714b1cdb02ee67 Dave Airlie 2021-02-05 232 drm_rect_width(&plane_state->uapi.src) >> 16,
714b1cdb02ee67 Dave Airlie 2021-02-05 233 drm_rect_height(&plane_state->uapi.src) >> 16,
714b1cdb02ee67 Dave Airlie 2021-02-05 234 drm_rect_width(&plane_state->uapi.dst),
714b1cdb02ee67 Dave Airlie 2021-02-05 235 drm_rect_height(&plane_state->uapi.dst),
714b1cdb02ee67 Dave Airlie 2021-02-05 236 fb ? fb->format : NULL,
714b1cdb02ee67 Dave Airlie 2021-02-05 @237 fb ? fb->modifier : 0,
714b1cdb02ee67 Dave Airlie 2021-02-05 238 need_scaler);
714b1cdb02ee67 Dave Airlie 2021-02-05 239
714b1cdb02ee67 Dave Airlie 2021-02-05 240 if (ret || plane_state->scaler_id < 0)
714b1cdb02ee67 Dave Airlie 2021-02-05 241 return ret;
714b1cdb02ee67 Dave Airlie 2021-02-05 242
714b1cdb02ee67 Dave Airlie 2021-02-05 243 /* check colorkey */
714b1cdb02ee67 Dave Airlie 2021-02-05 244 if (plane_state->ckey.flags) {
714b1cdb02ee67 Dave Airlie 2021-02-05 245 drm_dbg_kms(&dev_priv->drm,
714b1cdb02ee67 Dave Airlie 2021-02-05 246 "[PLANE:%d:%s] scaling with color key not allowed",
714b1cdb02ee67 Dave Airlie 2021-02-05 247 intel_plane->base.base.id,
714b1cdb02ee67 Dave Airlie 2021-02-05 248 intel_plane->base.name);
714b1cdb02ee67 Dave Airlie 2021-02-05 249 return -EINVAL;
714b1cdb02ee67 Dave Airlie 2021-02-05 250 }
714b1cdb02ee67 Dave Airlie 2021-02-05 251
714b1cdb02ee67 Dave Airlie 2021-02-05 252 /* Check src format */
714b1cdb02ee67 Dave Airlie 2021-02-05 @253 switch (fb->format->format) {
^^^^^^^^^^^^
Unchecked dereference.
714b1cdb02ee67 Dave Airlie 2021-02-05 254 case DRM_FORMAT_RGB565:
714b1cdb02ee67 Dave Airlie 2021-02-05 255 case DRM_FORMAT_XBGR8888:
714b1cdb02ee67 Dave Airlie 2021-02-05 256 case DRM_FORMAT_XRGB8888:
714b1cdb02ee67 Dave Airlie 2021-02-05 257 case DRM_FORMAT_ABGR8888:
714b1cdb02ee67 Dave Airlie 2021-02-05 258 case DRM_FORMAT_ARGB8888:
714b1cdb02ee67 Dave Airlie 2021-02-05 259 case DRM_FORMAT_XRGB2101010:
714b1cdb02ee67 Dave Airlie 2021-02-05 260 case DRM_FORMAT_XBGR2101010:
714b1cdb02ee67 Dave Airlie 2021-02-05 261 case DRM_FORMAT_ARGB2101010:
714b1cdb02ee67 Dave Airlie 2021-02-05 262 case DRM_FORMAT_ABGR2101010:
714b1cdb02ee67 Dave Airlie 2021-02-05 263 case DRM_FORMAT_YUYV:
714b1cdb02ee67 Dave Airlie 2021-02-05 264 case DRM_FORMAT_YVYU:
714b1cdb02ee67 Dave Airlie 2021-02-05 265 case DRM_FORMAT_UYVY:
714b1cdb02ee67 Dave Airlie 2021-02-05 266 case DRM_FORMAT_VYUY:
714b1cdb02ee67 Dave Airlie 2021-02-05 267 case DRM_FORMAT_NV12:
714b1cdb02ee67 Dave Airlie 2021-02-05 268 case DRM_FORMAT_XYUV8888:
714b1cdb02ee67 Dave Airlie 2021-02-05 269 case DRM_FORMAT_P010:
714b1cdb02ee67 Dave Airlie 2021-02-05 270 case DRM_FORMAT_P012:
714b1cdb02ee67 Dave Airlie 2021-02-05 271 case DRM_FORMAT_P016:
714b1cdb02ee67 Dave Airlie 2021-02-05 272 case DRM_FORMAT_Y210:
714b1cdb02ee67 Dave Airlie 2021-02-05 273 case DRM_FORMAT_Y212:
714b1cdb02ee67 Dave Airlie 2021-02-05 274 case DRM_FORMAT_Y216:
714b1cdb02ee67 Dave Airlie 2021-02-05 275 case DRM_FORMAT_XVYU2101010:
714b1cdb02ee67 Dave Airlie 2021-02-05 276 case DRM_FORMAT_XVYU12_16161616:
714b1cdb02ee67 Dave Airlie 2021-02-05 277 case DRM_FORMAT_XVYU16161616:
714b1cdb02ee67 Dave Airlie 2021-02-05 278 break;
714b1cdb02ee67 Dave Airlie 2021-02-05 279 case DRM_FORMAT_XBGR16161616F:
714b1cdb02ee67 Dave Airlie 2021-02-05 280 case DRM_FORMAT_ABGR16161616F:
714b1cdb02ee67 Dave Airlie 2021-02-05 281 case DRM_FORMAT_XRGB16161616F:
714b1cdb02ee67 Dave Airlie 2021-02-05 282 case DRM_FORMAT_ARGB16161616F:
714b1cdb02ee67 Dave Airlie 2021-02-05 283 if (INTEL_GEN(dev_priv) >= 11)
714b1cdb02ee67 Dave Airlie 2021-02-05 284 break;
714b1cdb02ee67 Dave Airlie 2021-02-05 285 fallthrough;
714b1cdb02ee67 Dave Airlie 2021-02-05 286 default:
714b1cdb02ee67 Dave Airlie 2021-02-05 287 drm_dbg_kms(&dev_priv->drm,
714b1cdb02ee67 Dave Airlie 2021-02-05 288 "[PLANE:%d:%s] FB:%d unsupported scaling format 0x%x\n",
714b1cdb02ee67 Dave Airlie 2021-02-05 289 intel_plane->base.base.id, intel_plane->base.name,
714b1cdb02ee67 Dave Airlie 2021-02-05 290 fb->base.id, fb->format->format);
714b1cdb02ee67 Dave Airlie 2021-02-05 291 return -EINVAL;
714b1cdb02ee67 Dave Airlie 2021-02-05 292 }
714b1cdb02ee67 Dave Airlie 2021-02-05 293
714b1cdb02ee67 Dave Airlie 2021-02-05 294 return 0;
714b1cdb02ee67 Dave Airlie 2021-02-05 295 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 33873 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* [drm-drm-intel:drm-intel-next 7/8] drivers/gpu/drm/i915/display/skl_scaler.c:253 skl_update_scaler_plane() error: we previously assumed 'fb' could be null (see line 237)
@ 2021-02-11 15:03 kernel test robot
0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2021-02-11 15:03 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 8017 bytes --]
CC: kbuild-all(a)lists.01.org
TO: Dave Airlie <airlied@redhat.com>
CC: Jani Nikula <jani.nikula@intel.com>
CC: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
tree: git://anongit.freedesktop.org/drm/drm-intel drm-intel-next
head: 81637a6ede89b95b6ea7b2f8c594676881110890
commit: 714b1cdb02ee670be1ec5b1190377fef3845acd9 [7/8] drm/i915: refactor skylake scaler code into new file.
:::::: branch date: 3 days ago
:::::: commit date: 3 days ago
config: x86_64-randconfig-m031-20210211 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/gpu/drm/i915/display/skl_scaler.c:253 skl_update_scaler_plane() error: we previously assumed 'fb' could be null (see line 237)
vim +/fb +253 drivers/gpu/drm/i915/display/skl_scaler.c
714b1cdb02ee67 Dave Airlie 2021-02-05 203
714b1cdb02ee67 Dave Airlie 2021-02-05 204 /**
714b1cdb02ee67 Dave Airlie 2021-02-05 205 * skl_update_scaler_plane - Stages update to scaler state for a given plane.
714b1cdb02ee67 Dave Airlie 2021-02-05 206 * @crtc_state: crtc's scaler state
714b1cdb02ee67 Dave Airlie 2021-02-05 207 * @plane_state: atomic plane state to update
714b1cdb02ee67 Dave Airlie 2021-02-05 208 *
714b1cdb02ee67 Dave Airlie 2021-02-05 209 * Return
714b1cdb02ee67 Dave Airlie 2021-02-05 210 * 0 - scaler_usage updated successfully
714b1cdb02ee67 Dave Airlie 2021-02-05 211 * error - requested scaling cannot be supported or other error condition
714b1cdb02ee67 Dave Airlie 2021-02-05 212 */
714b1cdb02ee67 Dave Airlie 2021-02-05 213 int skl_update_scaler_plane(struct intel_crtc_state *crtc_state,
714b1cdb02ee67 Dave Airlie 2021-02-05 214 struct intel_plane_state *plane_state)
714b1cdb02ee67 Dave Airlie 2021-02-05 215 {
714b1cdb02ee67 Dave Airlie 2021-02-05 216 struct intel_plane *intel_plane =
714b1cdb02ee67 Dave Airlie 2021-02-05 217 to_intel_plane(plane_state->uapi.plane);
714b1cdb02ee67 Dave Airlie 2021-02-05 218 struct drm_i915_private *dev_priv = to_i915(intel_plane->base.dev);
714b1cdb02ee67 Dave Airlie 2021-02-05 219 struct drm_framebuffer *fb = plane_state->hw.fb;
714b1cdb02ee67 Dave Airlie 2021-02-05 220 int ret;
714b1cdb02ee67 Dave Airlie 2021-02-05 221 bool force_detach = !fb || !plane_state->uapi.visible;
714b1cdb02ee67 Dave Airlie 2021-02-05 222 bool need_scaler = false;
714b1cdb02ee67 Dave Airlie 2021-02-05 223
714b1cdb02ee67 Dave Airlie 2021-02-05 224 /* Pre-gen11 and SDR planes always need a scaler for planar formats. */
714b1cdb02ee67 Dave Airlie 2021-02-05 225 if (!icl_is_hdr_plane(dev_priv, intel_plane->id) &&
714b1cdb02ee67 Dave Airlie 2021-02-05 226 fb && intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier))
714b1cdb02ee67 Dave Airlie 2021-02-05 227 need_scaler = true;
714b1cdb02ee67 Dave Airlie 2021-02-05 228
714b1cdb02ee67 Dave Airlie 2021-02-05 229 ret = skl_update_scaler(crtc_state, force_detach,
714b1cdb02ee67 Dave Airlie 2021-02-05 230 drm_plane_index(&intel_plane->base),
714b1cdb02ee67 Dave Airlie 2021-02-05 231 &plane_state->scaler_id,
714b1cdb02ee67 Dave Airlie 2021-02-05 232 drm_rect_width(&plane_state->uapi.src) >> 16,
714b1cdb02ee67 Dave Airlie 2021-02-05 233 drm_rect_height(&plane_state->uapi.src) >> 16,
714b1cdb02ee67 Dave Airlie 2021-02-05 234 drm_rect_width(&plane_state->uapi.dst),
714b1cdb02ee67 Dave Airlie 2021-02-05 235 drm_rect_height(&plane_state->uapi.dst),
714b1cdb02ee67 Dave Airlie 2021-02-05 236 fb ? fb->format : NULL,
714b1cdb02ee67 Dave Airlie 2021-02-05 @237 fb ? fb->modifier : 0,
714b1cdb02ee67 Dave Airlie 2021-02-05 238 need_scaler);
714b1cdb02ee67 Dave Airlie 2021-02-05 239
714b1cdb02ee67 Dave Airlie 2021-02-05 240 if (ret || plane_state->scaler_id < 0)
714b1cdb02ee67 Dave Airlie 2021-02-05 241 return ret;
714b1cdb02ee67 Dave Airlie 2021-02-05 242
714b1cdb02ee67 Dave Airlie 2021-02-05 243 /* check colorkey */
714b1cdb02ee67 Dave Airlie 2021-02-05 244 if (plane_state->ckey.flags) {
714b1cdb02ee67 Dave Airlie 2021-02-05 245 drm_dbg_kms(&dev_priv->drm,
714b1cdb02ee67 Dave Airlie 2021-02-05 246 "[PLANE:%d:%s] scaling with color key not allowed",
714b1cdb02ee67 Dave Airlie 2021-02-05 247 intel_plane->base.base.id,
714b1cdb02ee67 Dave Airlie 2021-02-05 248 intel_plane->base.name);
714b1cdb02ee67 Dave Airlie 2021-02-05 249 return -EINVAL;
714b1cdb02ee67 Dave Airlie 2021-02-05 250 }
714b1cdb02ee67 Dave Airlie 2021-02-05 251
714b1cdb02ee67 Dave Airlie 2021-02-05 252 /* Check src format */
714b1cdb02ee67 Dave Airlie 2021-02-05 @253 switch (fb->format->format) {
714b1cdb02ee67 Dave Airlie 2021-02-05 254 case DRM_FORMAT_RGB565:
714b1cdb02ee67 Dave Airlie 2021-02-05 255 case DRM_FORMAT_XBGR8888:
714b1cdb02ee67 Dave Airlie 2021-02-05 256 case DRM_FORMAT_XRGB8888:
714b1cdb02ee67 Dave Airlie 2021-02-05 257 case DRM_FORMAT_ABGR8888:
714b1cdb02ee67 Dave Airlie 2021-02-05 258 case DRM_FORMAT_ARGB8888:
714b1cdb02ee67 Dave Airlie 2021-02-05 259 case DRM_FORMAT_XRGB2101010:
714b1cdb02ee67 Dave Airlie 2021-02-05 260 case DRM_FORMAT_XBGR2101010:
714b1cdb02ee67 Dave Airlie 2021-02-05 261 case DRM_FORMAT_ARGB2101010:
714b1cdb02ee67 Dave Airlie 2021-02-05 262 case DRM_FORMAT_ABGR2101010:
714b1cdb02ee67 Dave Airlie 2021-02-05 263 case DRM_FORMAT_YUYV:
714b1cdb02ee67 Dave Airlie 2021-02-05 264 case DRM_FORMAT_YVYU:
714b1cdb02ee67 Dave Airlie 2021-02-05 265 case DRM_FORMAT_UYVY:
714b1cdb02ee67 Dave Airlie 2021-02-05 266 case DRM_FORMAT_VYUY:
714b1cdb02ee67 Dave Airlie 2021-02-05 267 case DRM_FORMAT_NV12:
714b1cdb02ee67 Dave Airlie 2021-02-05 268 case DRM_FORMAT_XYUV8888:
714b1cdb02ee67 Dave Airlie 2021-02-05 269 case DRM_FORMAT_P010:
714b1cdb02ee67 Dave Airlie 2021-02-05 270 case DRM_FORMAT_P012:
714b1cdb02ee67 Dave Airlie 2021-02-05 271 case DRM_FORMAT_P016:
714b1cdb02ee67 Dave Airlie 2021-02-05 272 case DRM_FORMAT_Y210:
714b1cdb02ee67 Dave Airlie 2021-02-05 273 case DRM_FORMAT_Y212:
714b1cdb02ee67 Dave Airlie 2021-02-05 274 case DRM_FORMAT_Y216:
714b1cdb02ee67 Dave Airlie 2021-02-05 275 case DRM_FORMAT_XVYU2101010:
714b1cdb02ee67 Dave Airlie 2021-02-05 276 case DRM_FORMAT_XVYU12_16161616:
714b1cdb02ee67 Dave Airlie 2021-02-05 277 case DRM_FORMAT_XVYU16161616:
714b1cdb02ee67 Dave Airlie 2021-02-05 278 break;
714b1cdb02ee67 Dave Airlie 2021-02-05 279 case DRM_FORMAT_XBGR16161616F:
714b1cdb02ee67 Dave Airlie 2021-02-05 280 case DRM_FORMAT_ABGR16161616F:
714b1cdb02ee67 Dave Airlie 2021-02-05 281 case DRM_FORMAT_XRGB16161616F:
714b1cdb02ee67 Dave Airlie 2021-02-05 282 case DRM_FORMAT_ARGB16161616F:
714b1cdb02ee67 Dave Airlie 2021-02-05 283 if (INTEL_GEN(dev_priv) >= 11)
714b1cdb02ee67 Dave Airlie 2021-02-05 284 break;
714b1cdb02ee67 Dave Airlie 2021-02-05 285 fallthrough;
714b1cdb02ee67 Dave Airlie 2021-02-05 286 default:
714b1cdb02ee67 Dave Airlie 2021-02-05 287 drm_dbg_kms(&dev_priv->drm,
714b1cdb02ee67 Dave Airlie 2021-02-05 288 "[PLANE:%d:%s] FB:%d unsupported scaling format 0x%x\n",
714b1cdb02ee67 Dave Airlie 2021-02-05 289 intel_plane->base.base.id, intel_plane->base.name,
714b1cdb02ee67 Dave Airlie 2021-02-05 290 fb->base.id, fb->format->format);
714b1cdb02ee67 Dave Airlie 2021-02-05 291 return -EINVAL;
714b1cdb02ee67 Dave Airlie 2021-02-05 292 }
714b1cdb02ee67 Dave Airlie 2021-02-05 293
714b1cdb02ee67 Dave Airlie 2021-02-05 294 return 0;
714b1cdb02ee67 Dave Airlie 2021-02-05 295 }
714b1cdb02ee67 Dave Airlie 2021-02-05 296
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 33873 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-02-15 11:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-15 11:02 [drm-drm-intel:drm-intel-next 7/8] drivers/gpu/drm/i915/display/skl_scaler.c:253 skl_update_scaler_plane() error: we previously assumed 'fb' could be null (see line 237) Dan Carpenter
2021-02-15 11:02 ` Dan Carpenter
-- strict thread matches above, loose matches on Subject: below --
2021-02-11 15:03 kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.