tree:   git://anongit.freedesktop.org/drm-intel for-linux-next
head:   937859485aefed1d9df72feb6ea74a84ff5cfa46
commit: 937859485aefed1d9df72feb6ea74a84ff5cfa46 [1/1] drm/i915: Support Async 
Flip on Linear buffers
config: x86_64-randconfig-a012-20230522 
(https://download.01.org/0day-ci/archive/20230523/[email protected]/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project 
f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build):
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        git remote add drm-intel git://anongit.freedesktop.org/drm-intel
        git fetch --no-tags drm-intel for-linux-next
        git checkout 937859485aefed1d9df72feb6ea74a84ff5cfa46
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 
O=build_dir ARCH=x86_64 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 
O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/gpu/drm/i915/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/i915/display/intel_display.c:6012:3: warning: unannotated 
>> fall-through between switch labels [-Wimplicit-fallthrough]
                   case I915_FORMAT_MOD_X_TILED:
                   ^
   drivers/gpu/drm/i915/display/intel_display.c:6012:3: note: insert 'break;' 
to avoid fall-through
                   case I915_FORMAT_MOD_X_TILED:
                   ^
                   break; 
   1 warning generated.


vim +6012 drivers/gpu/drm/i915/display/intel_display.c

b0b2bed2a1305c Ville Syrjälä         2022-02-14  5931  
b0b2bed2a1305c Ville Syrjälä         2022-02-14  5932  static int 
intel_async_flip_check_hw(struct intel_atomic_state *state, struct intel_crtc 
*crtc)
30ff93af9e19db Karthik B S           2020-09-21  5933  {
30ff93af9e19db Karthik B S           2020-09-21  5934   struct drm_i915_private 
*i915 = to_i915(state->base.dev);
30ff93af9e19db Karthik B S           2020-09-21  5935   const struct 
intel_crtc_state *old_crtc_state, *new_crtc_state;
30ff93af9e19db Karthik B S           2020-09-21  5936   const struct 
intel_plane_state *new_plane_state, *old_plane_state;
30ff93af9e19db Karthik B S           2020-09-21  5937   struct intel_plane 
*plane;
30ff93af9e19db Karthik B S           2020-09-21  5938   int i;
30ff93af9e19db Karthik B S           2020-09-21  5939  
0826edb6a5e5b3 José Roberto de Souza 2021-10-29  5940   old_crtc_state = 
intel_atomic_get_old_crtc_state(state, crtc);
0826edb6a5e5b3 José Roberto de Souza 2021-10-29  5941   new_crtc_state = 
intel_atomic_get_new_crtc_state(state, crtc);
0826edb6a5e5b3 José Roberto de Souza 2021-10-29  5942  
b0b2bed2a1305c Ville Syrjälä         2022-02-14  5943   if 
(!new_crtc_state->uapi.async_flip)
b0b2bed2a1305c Ville Syrjälä         2022-02-14  5944           return 0;
b0b2bed2a1305c Ville Syrjälä         2022-02-14  5945  
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  5946   if 
(!new_crtc_state->hw.active) {
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  5947           
drm_dbg_kms(&i915->drm,
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  5948                       
"[CRTC:%d:%s] not active\n",
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  5949                       
crtc->base.base.id, crtc->base.name);
30ff93af9e19db Karthik B S           2020-09-21  5950           return -EINVAL;
30ff93af9e19db Karthik B S           2020-09-21  5951   }
30ff93af9e19db Karthik B S           2020-09-21  5952  
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  5953   if 
(intel_crtc_needs_modeset(new_crtc_state)) {
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  5954           
drm_dbg_kms(&i915->drm,
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  5955                       
"[CRTC:%d:%s] modeset required\n",
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  5956                       
crtc->base.base.id, crtc->base.name);
30ff93af9e19db Karthik B S           2020-09-21  5957           return -EINVAL;
30ff93af9e19db Karthik B S           2020-09-21  5958   }
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  5959  
30ff93af9e19db Karthik B S           2020-09-21  5960   if 
(old_crtc_state->active_planes != new_crtc_state->active_planes) {
30ff93af9e19db Karthik B S           2020-09-21  5961           
drm_dbg_kms(&i915->drm,
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  5962                       
"[CRTC:%d:%s] Active planes cannot be in async flip\n",
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  5963                       
crtc->base.base.id, crtc->base.name);
30ff93af9e19db Karthik B S           2020-09-21  5964           return -EINVAL;
30ff93af9e19db Karthik B S           2020-09-21  5965   }
30ff93af9e19db Karthik B S           2020-09-21  5966  
30ff93af9e19db Karthik B S           2020-09-21  5967   
for_each_oldnew_intel_plane_in_state(state, plane, old_plane_state,
30ff93af9e19db Karthik B S           2020-09-21  5968                           
             new_plane_state, i) {
0826edb6a5e5b3 José Roberto de Souza 2021-10-29  5969           if (plane->pipe 
!= crtc->pipe)
0826edb6a5e5b3 José Roberto de Souza 2021-10-29  5970                   
continue;
0826edb6a5e5b3 José Roberto de Souza 2021-10-29  5971  
30ff93af9e19db Karthik B S           2020-09-21  5972           /*
2e08437160d1e8 Ville Syrjälä         2022-02-14  5973            * Only async 
flip capable planes should be in the state
2e08437160d1e8 Ville Syrjälä         2022-02-14  5974            * if we're 
really about to ask the hardware to perform
2e08437160d1e8 Ville Syrjälä         2022-02-14  5975            * an async 
flip. We should never get this far otherwise.
30ff93af9e19db Karthik B S           2020-09-21  5976            */
2e08437160d1e8 Ville Syrjälä         2022-02-14  5977           if 
(drm_WARN_ON(&i915->drm,
2e08437160d1e8 Ville Syrjälä         2022-02-14  5978                           
new_crtc_state->do_async_flip && !plane->async_flip))
30ff93af9e19db Karthik B S           2020-09-21  5979                   return 
-EINVAL;
30ff93af9e19db Karthik B S           2020-09-21  5980  
2e08437160d1e8 Ville Syrjälä         2022-02-14  5981           /*
2e08437160d1e8 Ville Syrjälä         2022-02-14  5982            * Only check 
async flip capable planes other planes
2e08437160d1e8 Ville Syrjälä         2022-02-14  5983            * may be 
involved in the initial commit due to
2e08437160d1e8 Ville Syrjälä         2022-02-14  5984            * the wm0/ddb 
optimization.
2e08437160d1e8 Ville Syrjälä         2022-02-14  5985            *
2e08437160d1e8 Ville Syrjälä         2022-02-14  5986            * TODO maybe 
should track which planes actually
2e08437160d1e8 Ville Syrjälä         2022-02-14  5987            * were 
requested to do the async flip...
2e08437160d1e8 Ville Syrjälä         2022-02-14  5988            */
2e08437160d1e8 Ville Syrjälä         2022-02-14  5989           if 
(!plane->async_flip)
2e08437160d1e8 Ville Syrjälä         2022-02-14  5990                   
continue;
2e08437160d1e8 Ville Syrjälä         2022-02-14  5991  
30ff93af9e19db Karthik B S           2020-09-21  5992           /*
30ff93af9e19db Karthik B S           2020-09-21  5993            * FIXME: This 
check is kept generic for all platforms.
244dba4cb59637 Lucas De Marchi       2021-07-28  5994            * Need to 
verify this for all gen9 platforms to enable
30ff93af9e19db Karthik B S           2020-09-21  5995            * this 
selectively if required.
30ff93af9e19db Karthik B S           2020-09-21  5996            */
30ff93af9e19db Karthik B S           2020-09-21  5997           switch 
(new_plane_state->hw.fb->modifier) {
937859485aefed Arun R Murthy         2022-09-06  5998           case 
DRM_FORMAT_MOD_LINEAR:
937859485aefed Arun R Murthy         2022-09-06  5999                   /*
937859485aefed Arun R Murthy         2022-09-06  6000                    * 
FIXME: Async on Linear buffer is supported on ICL as
937859485aefed Arun R Murthy         2022-09-06  6001                    * but 
with additional alignment and fbc restrictions
937859485aefed Arun R Murthy         2022-09-06  6002                    * need 
to be taken care of. These aren't applicable for
937859485aefed Arun R Murthy         2022-09-06  6003                    * 
gen12+.
937859485aefed Arun R Murthy         2022-09-06  6004                    */
937859485aefed Arun R Murthy         2022-09-06  6005                   if 
(DISPLAY_VER(i915) < 12) {
937859485aefed Arun R Murthy         2022-09-06  6006                           
drm_dbg_kms(&i915->drm,
937859485aefed Arun R Murthy         2022-09-06  6007                           
            "[PLANE:%d:%s] Modifier does not support async flips\n",
937859485aefed Arun R Murthy         2022-09-06  6008                           
            plane->base.base.id, plane->base.name);
937859485aefed Arun R Murthy         2022-09-06  6009                           
return -EINVAL;
937859485aefed Arun R Murthy         2022-09-06  6010                   }
937859485aefed Arun R Murthy         2022-09-06  6011  
30ff93af9e19db Karthik B S           2020-09-21 @6012           case 
I915_FORMAT_MOD_X_TILED:
30ff93af9e19db Karthik B S           2020-09-21  6013           case 
I915_FORMAT_MOD_Y_TILED:
30ff93af9e19db Karthik B S           2020-09-21  6014           case 
I915_FORMAT_MOD_Yf_TILED:
072ce4164f973b Stanislav Lisovskiy   2022-01-18  6015           case 
I915_FORMAT_MOD_4_TILED:
30ff93af9e19db Karthik B S           2020-09-21  6016                   break;
30ff93af9e19db Karthik B S           2020-09-21  6017           default:
30ff93af9e19db Karthik B S           2020-09-21  6018                   
drm_dbg_kms(&i915->drm,
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6019                           
    "[PLANE:%d:%s] Modifier does not support async flips\n",
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6020                           
    plane->base.base.id, plane->base.name);
30ff93af9e19db Karthik B S           2020-09-21  6021                   return 
-EINVAL;
30ff93af9e19db Karthik B S           2020-09-21  6022           }
30ff93af9e19db Karthik B S           2020-09-21  6023  
aaec72ee90bccc Ville Syrjälä         2021-10-18  6024           if 
(new_plane_state->hw.fb->format->num_planes > 1) {
aaec72ee90bccc Ville Syrjälä         2021-10-18  6025                   
drm_dbg_kms(&i915->drm,
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6026                           
    "[PLANE:%d:%s] Planar formats do not support async flips\n",
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6027                           
    plane->base.base.id, plane->base.name);
aaec72ee90bccc Ville Syrjälä         2021-10-18  6028                   return 
-EINVAL;
aaec72ee90bccc Ville Syrjälä         2021-10-18  6029           }
aaec72ee90bccc Ville Syrjälä         2021-10-18  6030  
be6c1dd5ac074d Imre Deak             2021-10-27  6031           if 
(old_plane_state->view.color_plane[0].mapping_stride !=
be6c1dd5ac074d Imre Deak             2021-10-27  6032               
new_plane_state->view.color_plane[0].mapping_stride) {
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6033                   
drm_dbg_kms(&i915->drm,
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6034                           
    "[PLANE:%d:%s] Stride cannot be changed in async flip\n",
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6035                           
    plane->base.base.id, plane->base.name);
30ff93af9e19db Karthik B S           2020-09-21  6036                   return 
-EINVAL;
30ff93af9e19db Karthik B S           2020-09-21  6037           }
30ff93af9e19db Karthik B S           2020-09-21  6038  
30ff93af9e19db Karthik B S           2020-09-21  6039           if 
(old_plane_state->hw.fb->modifier !=
30ff93af9e19db Karthik B S           2020-09-21  6040               
new_plane_state->hw.fb->modifier) {
30ff93af9e19db Karthik B S           2020-09-21  6041                   
drm_dbg_kms(&i915->drm,
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6042                           
    "[PLANE:%d:%s] Modifier cannot be changed in async flip\n",
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6043                           
    plane->base.base.id, plane->base.name);
30ff93af9e19db Karthik B S           2020-09-21  6044                   return 
-EINVAL;
30ff93af9e19db Karthik B S           2020-09-21  6045           }
30ff93af9e19db Karthik B S           2020-09-21  6046  
30ff93af9e19db Karthik B S           2020-09-21  6047           if 
(old_plane_state->hw.fb->format !=
30ff93af9e19db Karthik B S           2020-09-21  6048               
new_plane_state->hw.fb->format) {
30ff93af9e19db Karthik B S           2020-09-21  6049                   
drm_dbg_kms(&i915->drm,
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6050                           
    "[PLANE:%d:%s] Pixel format cannot be changed in async flip\n",
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6051                           
    plane->base.base.id, plane->base.name);
30ff93af9e19db Karthik B S           2020-09-21  6052                   return 
-EINVAL;
30ff93af9e19db Karthik B S           2020-09-21  6053           }
30ff93af9e19db Karthik B S           2020-09-21  6054  
30ff93af9e19db Karthik B S           2020-09-21  6055           if 
(old_plane_state->hw.rotation !=
30ff93af9e19db Karthik B S           2020-09-21  6056               
new_plane_state->hw.rotation) {
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6057                   
drm_dbg_kms(&i915->drm,
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6058                           
    "[PLANE:%d:%s] Rotation cannot be changed in async flip\n",
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6059                           
    plane->base.base.id, plane->base.name);
30ff93af9e19db Karthik B S           2020-09-21  6060                   return 
-EINVAL;
30ff93af9e19db Karthik B S           2020-09-21  6061           }
30ff93af9e19db Karthik B S           2020-09-21  6062  
30ff93af9e19db Karthik B S           2020-09-21  6063           if 
(!drm_rect_equals(&old_plane_state->uapi.src, &new_plane_state->uapi.src) ||
30ff93af9e19db Karthik B S           2020-09-21  6064               
!drm_rect_equals(&old_plane_state->uapi.dst, &new_plane_state->uapi.dst)) {
30ff93af9e19db Karthik B S           2020-09-21  6065                   
drm_dbg_kms(&i915->drm,
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6066                           
    "[PLANE:%d:%s] Size/co-ordinates cannot be changed in async flip\n",
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6067                           
    plane->base.base.id, plane->base.name);
30ff93af9e19db Karthik B S           2020-09-21  6068                   return 
-EINVAL;
30ff93af9e19db Karthik B S           2020-09-21  6069           }
30ff93af9e19db Karthik B S           2020-09-21  6070  
30ff93af9e19db Karthik B S           2020-09-21  6071           if 
(old_plane_state->hw.alpha != new_plane_state->hw.alpha) {
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6072                   
drm_dbg_kms(&i915->drm,
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6073                           
    "[PLANES:%d:%s] Alpha value cannot be changed in async flip\n",
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6074                           
    plane->base.base.id, plane->base.name);
30ff93af9e19db Karthik B S           2020-09-21  6075                   return 
-EINVAL;
30ff93af9e19db Karthik B S           2020-09-21  6076           }
30ff93af9e19db Karthik B S           2020-09-21  6077  
30ff93af9e19db Karthik B S           2020-09-21  6078           if 
(old_plane_state->hw.pixel_blend_mode !=
30ff93af9e19db Karthik B S           2020-09-21  6079               
new_plane_state->hw.pixel_blend_mode) {
30ff93af9e19db Karthik B S           2020-09-21  6080                   
drm_dbg_kms(&i915->drm,
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6081                           
    "[PLANE:%d:%s] Pixel blend mode cannot be changed in async flip\n",
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6082                           
    plane->base.base.id, plane->base.name);
30ff93af9e19db Karthik B S           2020-09-21  6083                   return 
-EINVAL;
30ff93af9e19db Karthik B S           2020-09-21  6084           }
30ff93af9e19db Karthik B S           2020-09-21  6085  
30ff93af9e19db Karthik B S           2020-09-21  6086           if 
(old_plane_state->hw.color_encoding != new_plane_state->hw.color_encoding) {
30ff93af9e19db Karthik B S           2020-09-21  6087                   
drm_dbg_kms(&i915->drm,
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6088                           
    "[PLANE:%d:%s] Color encoding cannot be changed in async flip\n",
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6089                           
    plane->base.base.id, plane->base.name);
30ff93af9e19db Karthik B S           2020-09-21  6090                   return 
-EINVAL;
30ff93af9e19db Karthik B S           2020-09-21  6091           }
30ff93af9e19db Karthik B S           2020-09-21  6092  
30ff93af9e19db Karthik B S           2020-09-21  6093           if 
(old_plane_state->hw.color_range != new_plane_state->hw.color_range) {
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6094                   
drm_dbg_kms(&i915->drm,
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6095                           
    "[PLANE:%d:%s] Color range cannot be changed in async flip\n",
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6096                           
    plane->base.base.id, plane->base.name);
30ff93af9e19db Karthik B S           2020-09-21  6097                   return 
-EINVAL;
30ff93af9e19db Karthik B S           2020-09-21  6098           }
ef6ba31dd38405 Anshuman Gupta        2021-09-24  6099  
ef6ba31dd38405 Anshuman Gupta        2021-09-24  6100           /* plane 
decryption is allow to change only in synchronous flips */
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6101           if 
(old_plane_state->decrypt != new_plane_state->decrypt) {
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6102                   
drm_dbg_kms(&i915->drm,
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6103                           
    "[PLANE:%d:%s] Decryption cannot be changed in async flip\n",
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6104                           
    plane->base.base.id, plane->base.name);
ef6ba31dd38405 Anshuman Gupta        2021-09-24  6105                   return 
-EINVAL;
30ff93af9e19db Karthik B S           2020-09-21  6106           }
6b4e414ce8dab7 Ville Syrjälä         2022-02-14  6107   }
30ff93af9e19db Karthik B S           2020-09-21  6108  
30ff93af9e19db Karthik B S           2020-09-21  6109   return 0;
30ff93af9e19db Karthik B S           2020-09-21  6110  }
30ff93af9e19db Karthik B S           2020-09-21  6111  

:::::: The code at line 6012 was first introduced by commit
:::::: 30ff93af9e19dbe88ff8b5e711e05b26b991eec0 drm/i915: Add checks specific 
to async flips

:::::: TO: Karthik B S <[email protected]>
:::::: CC: Ville Syrjälä <[email protected]>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to