• Ander Conselvan de Oliveira's avatar
    drm/i915/glk: Fix maximum scaling factor for Geminilake scalers · 5b7280f0
    Ander Conselvan de Oliveira authored
    Geminilake can output two pixels per clock, and that affects the maximum
    scaling factor for its scalers. Take that into account and avoid the
    following warning:
    
    WARNING: CPU: 1 PID: 593 at drivers/gpu/drm/i915/intel_display.c:13223 skl_max_scale.part.129+0x78/0x80 [i915]
    WARN_ON_ONCE(!crtc_clock || cdclk < crtc_clock)
    Modules linked in: x86_pkg_temp_thermal i915 coretemp kvm_intel kvm i2c_algo_bit drm_kms_helper irqbypass crct10dif_pclmul prime_numbers crc32_pclmul drm ghash_clmulni_intel shpchp tpm_tis tpm_tis_core tpm nfsd authw
    CPU: 1 PID: 593 Comm: kworker/u8:3 Tainted: G        W       4.10.0-rc8ander+ #330
    Hardware name: Intel Corp. Geminilake/GLK RVP1 DDR4 (05), BIOS GELKRVPA.X64.0035.B33.1702150552 02/15/2017
    Workqueue: events_unbound async_run_entry_fn
    Call Trace:
     dump_stack+0x86/0xc3
     __warn+0xcb/0xf0
     warn_slowpath_fmt+0x5f/0x80
     skl_max_scale.part.129+0x78/0x80 [i915]
     intel_check_primary_plane+0xa6/0xc0 [i915]
     intel_plane_atomic_check_with_state+0xd1/0x1a0 [i915]
     ? drm_printk+0xb5/0xc0 [drm]
     intel_plane_atomic_check+0x3d/0x80 [i915]
     drm_atomic_helper_check_planes+0x7c/0x200 [drm_kms_helper]
     intel_atomic_check+0xa5b/0x11a0 [i915]
     drm_atomic_check_only+0x353/0x600 [drm]
     ? drm_atomic_add_affected_connectors+0x10c/0x120 [drm]
     drm_atomic_commit+0x18/0x50 [drm]
     restore_fbdev_mode+0x14c/0x2a0 [drm_kms_helper]
     drm_fb_helper_restore_fbdev_mode_unlocked+0x34/0x80 [drm_kms_helper]
     drm_fb_helper_set_par+0x2d/0x60 [drm_kms_helper]
     intel_fbdev_set_par+0x1a/0x70 [i915]
     fbcon_init+0x582/0x610
     visual_init+0xd6/0x130
     do_bind_con_driver+0x1da/0x3c0
     do_take_over_console+0x116/0x180
     do_fbcon_takeover+0x5c/0xb0
     fbcon_event_notify+0x772/0x8a0
     ? __blocking_notifier_call_chain+0x35/0x70
     notifier_call_chain+0x4a/0x70
     __blocking_notifier_call_chain+0x4d/0x70
     blocking_notifier_call_chain+0x16/0x20
     fb_notifier_call_chain+0x1b/0x20
     register_framebuffer+0x278/0x360
     drm_fb_helper_initial_config+0x253/0x440 [drm_kms_helper]
     intel_fbdev_initial_config+0x18/0x30 [i915]
     async_run_entry_fn+0x39/0x170
     process_one_work+0x212/0x670
     ? process_one_work+0x197/0x670
     worker_thread+0x4e/0x490
     kthread+0x101/0x140
     ? process_one_work+0x670/0x670
     ? kthread_create_on_node+0x60/0x60
     ret_from_fork+0x31/0x40
    
    v2: s/max_pixclk/max_dotclk/ (Ville)
    Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: default avatarAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: http://patchwork.freedesktop.org/patch/msgid/20170223071600.14356-3-ander.conselvan.de.oliveira@intel.com
    5b7280f0
intel_display.c 446 KB