mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-07 20:33:58 -04:00
drm/i915: Program MBUS with rmw during initialization
commit c725161924f9a5872a3e53b73345a6026a5c170e upstream.
It wasn't terribly clear from the bspec's wording, but after discussion
with the hardware folks, it turns out that we need to preserve the
pre-existing contents of the MBUS ABOX control register when
initializing a few specific bits.
Bspec: 49213
Bspec: 50096
Fixes: 4cb4585e5a ("drm/i915/icl: initialize MBus during display init")
Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200204011032.582737-1-matthew.d.roper@intel.com
Reviewed-by: Matt Atwood <matthew.s.atwood@intel.com>
(cherry picked from commit 837b63e6087838d0f1e612d448405419199d8033)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200228004320.127142-1-matthew.d.roper@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
609b392e85
commit
2845fe63f7
1 changed files with 11 additions and 5 deletions
|
|
@ -4205,13 +4205,19 @@ static void icl_dbuf_disable(struct drm_i915_private *dev_priv)
|
|||
|
||||
static void icl_mbus_init(struct drm_i915_private *dev_priv)
|
||||
{
|
||||
u32 val;
|
||||
u32 mask, val;
|
||||
|
||||
val = MBUS_ABOX_BT_CREDIT_POOL1(16) |
|
||||
MBUS_ABOX_BT_CREDIT_POOL2(16) |
|
||||
MBUS_ABOX_B_CREDIT(1) |
|
||||
MBUS_ABOX_BW_CREDIT(1);
|
||||
mask = MBUS_ABOX_BT_CREDIT_POOL1_MASK |
|
||||
MBUS_ABOX_BT_CREDIT_POOL2_MASK |
|
||||
MBUS_ABOX_B_CREDIT_MASK |
|
||||
MBUS_ABOX_BW_CREDIT_MASK;
|
||||
|
||||
val = I915_READ(MBUS_ABOX_CTL);
|
||||
val &= ~mask;
|
||||
val |= MBUS_ABOX_BT_CREDIT_POOL1(16) |
|
||||
MBUS_ABOX_BT_CREDIT_POOL2(16) |
|
||||
MBUS_ABOX_B_CREDIT(1) |
|
||||
MBUS_ABOX_BW_CREDIT(1);
|
||||
I915_WRITE(MBUS_ABOX_CTL, val);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue