Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/i915/sbi: convert intel_sbi.[ch] to struct intel_display

Convert intel_sbi.[ch] to struct intel_display, as much as possible
anyway, and as a consequence drop the dependency on i915_drv.h from
intel_pch_refclk.c.

Reviewed-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/9fa9f9a828a7e0e93208111566478b16838abe0d.1748343520.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Jani Nikula a737ab4a 7fb3a1f7

+103 -101
+71 -77
drivers/gpu/drm/i915/display/intel_pch_refclk.c
··· 3 3 * Copyright © 2021 Intel Corporation 4 4 */ 5 5 6 - #include "i915_drv.h" 6 + #include <drm/drm_print.h> 7 + 7 8 #include "i915_reg.h" 9 + #include "i915_utils.h" 8 10 #include "intel_de.h" 9 11 #include "intel_display_types.h" 10 12 #include "intel_panel.h" ··· 31 29 /* WaMPhyProgramming:hsw */ 32 30 static void lpt_fdi_program_mphy(struct intel_display *display) 33 31 { 34 - struct drm_i915_private *dev_priv = to_i915(display->drm); 35 32 u32 tmp; 36 33 37 34 lpt_fdi_reset_mphy(display); 38 35 39 - tmp = intel_sbi_read(dev_priv, 0x8008, SBI_MPHY); 36 + tmp = intel_sbi_read(display, 0x8008, SBI_MPHY); 40 37 tmp &= ~(0xFF << 24); 41 38 tmp |= (0x12 << 24); 42 - intel_sbi_write(dev_priv, 0x8008, tmp, SBI_MPHY); 39 + intel_sbi_write(display, 0x8008, tmp, SBI_MPHY); 43 40 44 - tmp = intel_sbi_read(dev_priv, 0x2008, SBI_MPHY); 41 + tmp = intel_sbi_read(display, 0x2008, SBI_MPHY); 45 42 tmp |= (1 << 11); 46 - intel_sbi_write(dev_priv, 0x2008, tmp, SBI_MPHY); 43 + intel_sbi_write(display, 0x2008, tmp, SBI_MPHY); 47 44 48 - tmp = intel_sbi_read(dev_priv, 0x2108, SBI_MPHY); 45 + tmp = intel_sbi_read(display, 0x2108, SBI_MPHY); 49 46 tmp |= (1 << 11); 50 - intel_sbi_write(dev_priv, 0x2108, tmp, SBI_MPHY); 47 + intel_sbi_write(display, 0x2108, tmp, SBI_MPHY); 51 48 52 - tmp = intel_sbi_read(dev_priv, 0x206C, SBI_MPHY); 49 + tmp = intel_sbi_read(display, 0x206C, SBI_MPHY); 53 50 tmp |= (1 << 24) | (1 << 21) | (1 << 18); 54 - intel_sbi_write(dev_priv, 0x206C, tmp, SBI_MPHY); 51 + intel_sbi_write(display, 0x206C, tmp, SBI_MPHY); 55 52 56 - tmp = intel_sbi_read(dev_priv, 0x216C, SBI_MPHY); 53 + tmp = intel_sbi_read(display, 0x216C, SBI_MPHY); 57 54 tmp |= (1 << 24) | (1 << 21) | (1 << 18); 58 - intel_sbi_write(dev_priv, 0x216C, tmp, SBI_MPHY); 55 + intel_sbi_write(display, 0x216C, tmp, SBI_MPHY); 59 56 60 - tmp = intel_sbi_read(dev_priv, 0x2080, SBI_MPHY); 57 + tmp = intel_sbi_read(display, 0x2080, SBI_MPHY); 61 58 tmp &= ~(7 << 13); 62 59 tmp |= (5 << 13); 63 - intel_sbi_write(dev_priv, 0x2080, tmp, SBI_MPHY); 60 + intel_sbi_write(display, 0x2080, tmp, SBI_MPHY); 64 61 65 - tmp = intel_sbi_read(dev_priv, 0x2180, SBI_MPHY); 62 + tmp = intel_sbi_read(display, 0x2180, SBI_MPHY); 66 63 tmp &= ~(7 << 13); 67 64 tmp |= (5 << 13); 68 - intel_sbi_write(dev_priv, 0x2180, tmp, SBI_MPHY); 65 + intel_sbi_write(display, 0x2180, tmp, SBI_MPHY); 69 66 70 - tmp = intel_sbi_read(dev_priv, 0x208C, SBI_MPHY); 67 + tmp = intel_sbi_read(display, 0x208C, SBI_MPHY); 71 68 tmp &= ~0xFF; 72 69 tmp |= 0x1C; 73 - intel_sbi_write(dev_priv, 0x208C, tmp, SBI_MPHY); 70 + intel_sbi_write(display, 0x208C, tmp, SBI_MPHY); 74 71 75 - tmp = intel_sbi_read(dev_priv, 0x218C, SBI_MPHY); 72 + tmp = intel_sbi_read(display, 0x218C, SBI_MPHY); 76 73 tmp &= ~0xFF; 77 74 tmp |= 0x1C; 78 - intel_sbi_write(dev_priv, 0x218C, tmp, SBI_MPHY); 75 + intel_sbi_write(display, 0x218C, tmp, SBI_MPHY); 79 76 80 - tmp = intel_sbi_read(dev_priv, 0x2098, SBI_MPHY); 77 + tmp = intel_sbi_read(display, 0x2098, SBI_MPHY); 81 78 tmp &= ~(0xFF << 16); 82 79 tmp |= (0x1C << 16); 83 - intel_sbi_write(dev_priv, 0x2098, tmp, SBI_MPHY); 80 + intel_sbi_write(display, 0x2098, tmp, SBI_MPHY); 84 81 85 - tmp = intel_sbi_read(dev_priv, 0x2198, SBI_MPHY); 82 + tmp = intel_sbi_read(display, 0x2198, SBI_MPHY); 86 83 tmp &= ~(0xFF << 16); 87 84 tmp |= (0x1C << 16); 88 - intel_sbi_write(dev_priv, 0x2198, tmp, SBI_MPHY); 85 + intel_sbi_write(display, 0x2198, tmp, SBI_MPHY); 89 86 90 - tmp = intel_sbi_read(dev_priv, 0x20C4, SBI_MPHY); 87 + tmp = intel_sbi_read(display, 0x20C4, SBI_MPHY); 91 88 tmp |= (1 << 27); 92 - intel_sbi_write(dev_priv, 0x20C4, tmp, SBI_MPHY); 89 + intel_sbi_write(display, 0x20C4, tmp, SBI_MPHY); 93 90 94 - tmp = intel_sbi_read(dev_priv, 0x21C4, SBI_MPHY); 91 + tmp = intel_sbi_read(display, 0x21C4, SBI_MPHY); 95 92 tmp |= (1 << 27); 96 - intel_sbi_write(dev_priv, 0x21C4, tmp, SBI_MPHY); 93 + intel_sbi_write(display, 0x21C4, tmp, SBI_MPHY); 97 94 98 - tmp = intel_sbi_read(dev_priv, 0x20EC, SBI_MPHY); 95 + tmp = intel_sbi_read(display, 0x20EC, SBI_MPHY); 99 96 tmp &= ~(0xF << 28); 100 97 tmp |= (4 << 28); 101 - intel_sbi_write(dev_priv, 0x20EC, tmp, SBI_MPHY); 98 + intel_sbi_write(display, 0x20EC, tmp, SBI_MPHY); 102 99 103 - tmp = intel_sbi_read(dev_priv, 0x21EC, SBI_MPHY); 100 + tmp = intel_sbi_read(display, 0x21EC, SBI_MPHY); 104 101 tmp &= ~(0xF << 28); 105 102 tmp |= (4 << 28); 106 - intel_sbi_write(dev_priv, 0x21EC, tmp, SBI_MPHY); 103 + intel_sbi_write(display, 0x21EC, tmp, SBI_MPHY); 107 104 } 108 105 109 106 void lpt_disable_iclkip(struct intel_display *display) 110 107 { 111 - struct drm_i915_private *dev_priv = to_i915(display->drm); 112 108 u32 temp; 113 109 114 110 intel_de_write(display, PIXCLK_GATE, PIXCLK_GATE_GATE); 115 111 116 - intel_sbi_lock(dev_priv); 112 + intel_sbi_lock(display); 117 113 118 - temp = intel_sbi_read(dev_priv, SBI_SSCCTL6, SBI_ICLK); 114 + temp = intel_sbi_read(display, SBI_SSCCTL6, SBI_ICLK); 119 115 temp |= SBI_SSCCTL_DISABLE; 120 - intel_sbi_write(dev_priv, SBI_SSCCTL6, temp, SBI_ICLK); 116 + intel_sbi_write(display, SBI_SSCCTL6, temp, SBI_ICLK); 121 117 122 - intel_sbi_unlock(dev_priv); 118 + intel_sbi_unlock(display); 123 119 } 124 120 125 121 struct iclkip_params { ··· 178 178 void lpt_program_iclkip(const struct intel_crtc_state *crtc_state) 179 179 { 180 180 struct intel_display *display = to_intel_display(crtc_state); 181 - struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc); 182 - struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); 183 181 int clock = crtc_state->hw.adjusted_mode.crtc_clock; 184 182 struct iclkip_params p; 185 183 u32 temp; ··· 197 199 "iCLKIP clock: found settings for %dKHz refresh rate: auxdiv=%x, divsel=%x, phasedir=%x, phaseinc=%x\n", 198 200 clock, p.auxdiv, p.divsel, p.phasedir, p.phaseinc); 199 201 200 - intel_sbi_lock(dev_priv); 202 + intel_sbi_lock(display); 201 203 202 204 /* Program SSCDIVINTPHASE6 */ 203 - temp = intel_sbi_read(dev_priv, SBI_SSCDIVINTPHASE6, SBI_ICLK); 205 + temp = intel_sbi_read(display, SBI_SSCDIVINTPHASE6, SBI_ICLK); 204 206 temp &= ~SBI_SSCDIVINTPHASE_DIVSEL_MASK; 205 207 temp |= SBI_SSCDIVINTPHASE_DIVSEL(p.divsel); 206 208 temp &= ~SBI_SSCDIVINTPHASE_INCVAL_MASK; 207 209 temp |= SBI_SSCDIVINTPHASE_INCVAL(p.phaseinc); 208 210 temp |= SBI_SSCDIVINTPHASE_DIR(p.phasedir); 209 211 temp |= SBI_SSCDIVINTPHASE_PROPAGATE; 210 - intel_sbi_write(dev_priv, SBI_SSCDIVINTPHASE6, temp, SBI_ICLK); 212 + intel_sbi_write(display, SBI_SSCDIVINTPHASE6, temp, SBI_ICLK); 211 213 212 214 /* Program SSCAUXDIV */ 213 - temp = intel_sbi_read(dev_priv, SBI_SSCAUXDIV6, SBI_ICLK); 215 + temp = intel_sbi_read(display, SBI_SSCAUXDIV6, SBI_ICLK); 214 216 temp &= ~SBI_SSCAUXDIV_FINALDIV2SEL(1); 215 217 temp |= SBI_SSCAUXDIV_FINALDIV2SEL(p.auxdiv); 216 - intel_sbi_write(dev_priv, SBI_SSCAUXDIV6, temp, SBI_ICLK); 218 + intel_sbi_write(display, SBI_SSCAUXDIV6, temp, SBI_ICLK); 217 219 218 220 /* Enable modulator and associated divider */ 219 - temp = intel_sbi_read(dev_priv, SBI_SSCCTL6, SBI_ICLK); 221 + temp = intel_sbi_read(display, SBI_SSCCTL6, SBI_ICLK); 220 222 temp &= ~SBI_SSCCTL_DISABLE; 221 - intel_sbi_write(dev_priv, SBI_SSCCTL6, temp, SBI_ICLK); 223 + intel_sbi_write(display, SBI_SSCCTL6, temp, SBI_ICLK); 222 224 223 - intel_sbi_unlock(dev_priv); 225 + intel_sbi_unlock(display); 224 226 225 227 /* Wait for initialization time */ 226 228 udelay(24); ··· 230 232 231 233 int lpt_get_iclkip(struct intel_display *display) 232 234 { 233 - struct drm_i915_private *dev_priv = to_i915(display->drm); 234 235 struct iclkip_params p; 235 236 u32 temp; 236 237 ··· 238 241 239 242 iclkip_params_init(&p); 240 243 241 - intel_sbi_lock(dev_priv); 244 + intel_sbi_lock(display); 242 245 243 - temp = intel_sbi_read(dev_priv, SBI_SSCCTL6, SBI_ICLK); 246 + temp = intel_sbi_read(display, SBI_SSCCTL6, SBI_ICLK); 244 247 if (temp & SBI_SSCCTL_DISABLE) { 245 - intel_sbi_unlock(dev_priv); 248 + intel_sbi_unlock(display); 246 249 return 0; 247 250 } 248 251 249 - temp = intel_sbi_read(dev_priv, SBI_SSCDIVINTPHASE6, SBI_ICLK); 252 + temp = intel_sbi_read(display, SBI_SSCDIVINTPHASE6, SBI_ICLK); 250 253 p.divsel = (temp & SBI_SSCDIVINTPHASE_DIVSEL_MASK) >> 251 254 SBI_SSCDIVINTPHASE_DIVSEL_SHIFT; 252 255 p.phaseinc = (temp & SBI_SSCDIVINTPHASE_INCVAL_MASK) >> 253 256 SBI_SSCDIVINTPHASE_INCVAL_SHIFT; 254 257 255 - temp = intel_sbi_read(dev_priv, SBI_SSCAUXDIV6, SBI_ICLK); 258 + temp = intel_sbi_read(display, SBI_SSCAUXDIV6, SBI_ICLK); 256 259 p.auxdiv = (temp & SBI_SSCAUXDIV_FINALDIV2SEL_MASK) >> 257 260 SBI_SSCAUXDIV_FINALDIV2SEL_SHIFT; 258 261 259 - intel_sbi_unlock(dev_priv); 262 + intel_sbi_unlock(display); 260 263 261 264 p.desired_divisor = (p.divsel + 2) * p.iclk_pi_range + p.phaseinc; 262 265 ··· 272 275 static void lpt_enable_clkout_dp(struct intel_display *display, 273 276 bool with_spread, bool with_fdi) 274 277 { 275 - struct drm_i915_private *dev_priv = to_i915(display->drm); 276 278 u32 reg, tmp; 277 279 278 280 if (drm_WARN(display->drm, with_fdi && !with_spread, ··· 281 285 with_fdi, "LP PCH doesn't have FDI\n")) 282 286 with_fdi = false; 283 287 284 - intel_sbi_lock(dev_priv); 288 + intel_sbi_lock(display); 285 289 286 - tmp = intel_sbi_read(dev_priv, SBI_SSCCTL, SBI_ICLK); 290 + tmp = intel_sbi_read(display, SBI_SSCCTL, SBI_ICLK); 287 291 tmp &= ~SBI_SSCCTL_DISABLE; 288 292 tmp |= SBI_SSCCTL_PATHALT; 289 - intel_sbi_write(dev_priv, SBI_SSCCTL, tmp, SBI_ICLK); 293 + intel_sbi_write(display, SBI_SSCCTL, tmp, SBI_ICLK); 290 294 291 295 udelay(24); 292 296 293 297 if (with_spread) { 294 - tmp = intel_sbi_read(dev_priv, SBI_SSCCTL, SBI_ICLK); 298 + tmp = intel_sbi_read(display, SBI_SSCCTL, SBI_ICLK); 295 299 tmp &= ~SBI_SSCCTL_PATHALT; 296 - intel_sbi_write(dev_priv, SBI_SSCCTL, tmp, SBI_ICLK); 300 + intel_sbi_write(display, SBI_SSCCTL, tmp, SBI_ICLK); 297 301 298 302 if (with_fdi) 299 303 lpt_fdi_program_mphy(display); 300 304 } 301 305 302 306 reg = HAS_PCH_LPT_LP(display) ? SBI_GEN0 : SBI_DBUFF0; 303 - tmp = intel_sbi_read(dev_priv, reg, SBI_ICLK); 307 + tmp = intel_sbi_read(display, reg, SBI_ICLK); 304 308 tmp |= SBI_GEN0_CFG_BUFFENABLE_DISABLE; 305 - intel_sbi_write(dev_priv, reg, tmp, SBI_ICLK); 309 + intel_sbi_write(display, reg, tmp, SBI_ICLK); 306 310 307 - intel_sbi_unlock(dev_priv); 311 + intel_sbi_unlock(display); 308 312 } 309 313 310 314 /* Sequence to disable CLKOUT_DP */ 311 315 void lpt_disable_clkout_dp(struct intel_display *display) 312 316 { 313 - struct drm_i915_private *dev_priv = to_i915(display->drm); 314 317 u32 reg, tmp; 315 318 316 - intel_sbi_lock(dev_priv); 319 + intel_sbi_lock(display); 317 320 318 321 reg = HAS_PCH_LPT_LP(display) ? SBI_GEN0 : SBI_DBUFF0; 319 - tmp = intel_sbi_read(dev_priv, reg, SBI_ICLK); 322 + tmp = intel_sbi_read(display, reg, SBI_ICLK); 320 323 tmp &= ~SBI_GEN0_CFG_BUFFENABLE_DISABLE; 321 - intel_sbi_write(dev_priv, reg, tmp, SBI_ICLK); 324 + intel_sbi_write(display, reg, tmp, SBI_ICLK); 322 325 323 - tmp = intel_sbi_read(dev_priv, SBI_SSCCTL, SBI_ICLK); 326 + tmp = intel_sbi_read(display, SBI_SSCCTL, SBI_ICLK); 324 327 if (!(tmp & SBI_SSCCTL_DISABLE)) { 325 328 if (!(tmp & SBI_SSCCTL_PATHALT)) { 326 329 tmp |= SBI_SSCCTL_PATHALT; 327 - intel_sbi_write(dev_priv, SBI_SSCCTL, tmp, SBI_ICLK); 330 + intel_sbi_write(display, SBI_SSCCTL, tmp, SBI_ICLK); 328 331 udelay(32); 329 332 } 330 333 tmp |= SBI_SSCCTL_DISABLE; 331 - intel_sbi_write(dev_priv, SBI_SSCCTL, tmp, SBI_ICLK); 334 + intel_sbi_write(display, SBI_SSCCTL, tmp, SBI_ICLK); 332 335 } 333 336 334 - intel_sbi_unlock(dev_priv); 337 + intel_sbi_unlock(display); 335 338 } 336 339 337 340 #define BEND_IDX(steps) ((50 + (steps)) / 5) ··· 367 372 */ 368 373 static void lpt_bend_clkout_dp(struct intel_display *display, int steps) 369 374 { 370 - struct drm_i915_private *dev_priv = to_i915(display->drm); 371 375 u32 tmp; 372 376 int idx = BEND_IDX(steps); 373 377 ··· 376 382 if (drm_WARN_ON(display->drm, idx >= ARRAY_SIZE(sscdivintphase))) 377 383 return; 378 384 379 - intel_sbi_lock(dev_priv); 385 + intel_sbi_lock(display); 380 386 381 387 if (steps % 10 != 0) 382 388 tmp = 0xAAAAAAAB; 383 389 else 384 390 tmp = 0x00000000; 385 - intel_sbi_write(dev_priv, SBI_SSCDITHPHASE, tmp, SBI_ICLK); 391 + intel_sbi_write(display, SBI_SSCDITHPHASE, tmp, SBI_ICLK); 386 392 387 - tmp = intel_sbi_read(dev_priv, SBI_SSCDIVINTPHASE, SBI_ICLK); 393 + tmp = intel_sbi_read(display, SBI_SSCDIVINTPHASE, SBI_ICLK); 388 394 tmp &= 0xffff0000; 389 395 tmp |= sscdivintphase[idx]; 390 - intel_sbi_write(dev_priv, SBI_SSCDIVINTPHASE, tmp, SBI_ICLK); 396 + intel_sbi_write(display, SBI_SSCDIVINTPHASE, tmp, SBI_ICLK); 391 397 392 - intel_sbi_unlock(dev_priv); 398 + intel_sbi_unlock(display); 393 399 } 394 400 395 401 #undef BEND_IDX
+23 -15
drivers/gpu/drm/i915/display/intel_sbi.c
··· 6 6 */ 7 7 8 8 #include "i915_drv.h" 9 - #include "intel_sbi.h" 10 9 #include "i915_reg.h" 10 + #include "intel_display_core.h" 11 + #include "intel_sbi.h" 11 12 12 13 /* SBI access */ 13 - static int intel_sbi_rw(struct drm_i915_private *i915, u16 reg, 14 + static int intel_sbi_rw(struct intel_display *display, u16 reg, 14 15 enum intel_sbi_destination destination, 15 16 u32 *val, bool is_read) 16 17 { 18 + struct drm_i915_private *i915 = to_i915(display->drm); 17 19 struct intel_uncore *uncore = &i915->uncore; 18 20 u32 cmd; 19 21 ··· 24 22 if (intel_wait_for_register_fw(uncore, 25 23 SBI_CTL_STAT, SBI_BUSY, 0, 26 24 100)) { 27 - drm_err(&i915->drm, 28 - "timeout waiting for SBI to become ready\n"); 25 + drm_err(display->drm, "timeout waiting for SBI to become ready\n"); 29 26 return -EBUSY; 30 27 } 31 28 ··· 42 41 if (__intel_wait_for_register_fw(uncore, 43 42 SBI_CTL_STAT, SBI_BUSY, 0, 44 43 100, 100, &cmd)) { 45 - drm_err(&i915->drm, 46 - "timeout waiting for SBI to complete read\n"); 44 + drm_err(display->drm, "timeout waiting for SBI to complete read\n"); 47 45 return -ETIMEDOUT; 48 46 } 49 47 50 48 if (cmd & SBI_RESPONSE_FAIL) { 51 - drm_err(&i915->drm, "error during SBI read of reg %x\n", reg); 49 + drm_err(display->drm, "error during SBI read of reg %x\n", reg); 52 50 return -ENXIO; 53 51 } 54 52 ··· 57 57 return 0; 58 58 } 59 59 60 - void intel_sbi_lock(struct drm_i915_private *i915) 60 + void intel_sbi_lock(struct intel_display *display) 61 61 { 62 + struct drm_i915_private *i915 = to_i915(display->drm); 63 + 62 64 mutex_lock(&i915->sbi_lock); 63 65 } 64 66 65 - void intel_sbi_unlock(struct drm_i915_private *i915) 67 + void intel_sbi_unlock(struct intel_display *display) 66 68 { 69 + struct drm_i915_private *i915 = to_i915(display->drm); 70 + 67 71 mutex_unlock(&i915->sbi_lock); 68 72 } 69 73 70 - u32 intel_sbi_read(struct drm_i915_private *i915, u16 reg, 74 + u32 intel_sbi_read(struct intel_display *display, u16 reg, 71 75 enum intel_sbi_destination destination) 72 76 { 73 77 u32 result = 0; 74 78 75 - intel_sbi_rw(i915, reg, destination, &result, true); 79 + intel_sbi_rw(display, reg, destination, &result, true); 76 80 77 81 return result; 78 82 } 79 83 80 - void intel_sbi_write(struct drm_i915_private *i915, u16 reg, u32 value, 84 + void intel_sbi_write(struct intel_display *display, u16 reg, u32 value, 81 85 enum intel_sbi_destination destination) 82 86 { 83 - intel_sbi_rw(i915, reg, destination, &value, false); 87 + intel_sbi_rw(display, reg, destination, &value, false); 84 88 } 85 89 86 - void intel_sbi_init(struct drm_i915_private *i915) 90 + void intel_sbi_init(struct intel_display *display) 87 91 { 92 + struct drm_i915_private *i915 = to_i915(display->drm); 93 + 88 94 mutex_init(&i915->sbi_lock); 89 95 } 90 96 91 - void intel_sbi_fini(struct drm_i915_private *i915) 97 + void intel_sbi_fini(struct intel_display *display) 92 98 { 99 + struct drm_i915_private *i915 = to_i915(display->drm); 100 + 93 101 mutex_destroy(&i915->sbi_lock); 94 102 }
+7 -7
drivers/gpu/drm/i915/display/intel_sbi.h
··· 8 8 9 9 #include <linux/types.h> 10 10 11 - struct drm_i915_private; 11 + struct intel_display; 12 12 13 13 enum intel_sbi_destination { 14 14 SBI_ICLK, 15 15 SBI_MPHY, 16 16 }; 17 17 18 - void intel_sbi_init(struct drm_i915_private *i915); 19 - void intel_sbi_fini(struct drm_i915_private *i915); 20 - void intel_sbi_lock(struct drm_i915_private *i915); 21 - void intel_sbi_unlock(struct drm_i915_private *i915); 22 - u32 intel_sbi_read(struct drm_i915_private *i915, u16 reg, 18 + void intel_sbi_init(struct intel_display *display); 19 + void intel_sbi_fini(struct intel_display *display); 20 + void intel_sbi_lock(struct intel_display *display); 21 + void intel_sbi_unlock(struct intel_display *display); 22 + u32 intel_sbi_read(struct intel_display *display, u16 reg, 23 23 enum intel_sbi_destination destination); 24 - void intel_sbi_write(struct drm_i915_private *i915, u16 reg, u32 value, 24 + void intel_sbi_write(struct intel_display *display, u16 reg, u32 value, 25 25 enum intel_sbi_destination destination); 26 26 27 27 #endif /* _INTEL_SBI_H_ */
+2 -2
drivers/gpu/drm/i915/i915_driver.c
··· 231 231 232 232 spin_lock_init(&dev_priv->gpu_error.lock); 233 233 234 - intel_sbi_init(dev_priv); 234 + intel_sbi_init(display); 235 235 vlv_iosf_sb_init(dev_priv); 236 236 mutex_init(&dev_priv->sb_lock); 237 237 ··· 292 292 293 293 mutex_destroy(&dev_priv->sb_lock); 294 294 vlv_iosf_sb_fini(dev_priv); 295 - intel_sbi_fini(dev_priv); 295 + intel_sbi_fini(display); 296 296 297 297 i915_params_free(&dev_priv->params); 298 298