diff options
author | Ben Widawsky <ben@bwidawsk.net> | 2012-04-16 17:07:43 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-05-03 05:18:00 -0400 |
commit | 75020bc11c2fa4c060d45b8d0e3f6a37109725bc (patch) | |
tree | b2e018d6cd6657e7dcbf3ed5bf5f9a3994e3c798 /drivers/gpu/drm/i915/intel_overlay.c | |
parent | 5bc4418b557d3f56918ff21b0bd12467eb2e94aa (diff) |
drm/i915: [sparse] __iomem fixes for overlay
With the exception of a forced cast for phys_obj stuff (a problem in
other patches as well) all of these are fairly simple __iomem compliance
fixes.
As with other patches, yank/paste errors may exist.
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
[danvet: Added comment to explain the __iomem cast.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_overlay.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_overlay.c | 133 |
1 files changed, 75 insertions, 58 deletions
diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c index 80b331c322fb..0f0fe31fc466 100644 --- a/drivers/gpu/drm/i915/intel_overlay.c +++ b/drivers/gpu/drm/i915/intel_overlay.c | |||
@@ -187,14 +187,14 @@ struct intel_overlay { | |||
187 | void (*flip_tail)(struct intel_overlay *); | 187 | void (*flip_tail)(struct intel_overlay *); |
188 | }; | 188 | }; |
189 | 189 | ||
190 | static struct overlay_registers * | 190 | static struct overlay_registers __iomem * |
191 | intel_overlay_map_regs(struct intel_overlay *overlay) | 191 | intel_overlay_map_regs(struct intel_overlay *overlay) |
192 | { | 192 | { |
193 | drm_i915_private_t *dev_priv = overlay->dev->dev_private; | 193 | drm_i915_private_t *dev_priv = overlay->dev->dev_private; |
194 | struct overlay_registers *regs; | 194 | struct overlay_registers __iomem *regs; |
195 | 195 | ||
196 | if (OVERLAY_NEEDS_PHYSICAL(overlay->dev)) | 196 | if (OVERLAY_NEEDS_PHYSICAL(overlay->dev)) |
197 | regs = overlay->reg_bo->phys_obj->handle->vaddr; | 197 | regs = (struct overlay_registers __iomem *)overlay->reg_bo->phys_obj->handle->vaddr; |
198 | else | 198 | else |
199 | regs = io_mapping_map_wc(dev_priv->mm.gtt_mapping, | 199 | regs = io_mapping_map_wc(dev_priv->mm.gtt_mapping, |
200 | overlay->reg_bo->gtt_offset); | 200 | overlay->reg_bo->gtt_offset); |
@@ -203,7 +203,7 @@ intel_overlay_map_regs(struct intel_overlay *overlay) | |||
203 | } | 203 | } |
204 | 204 | ||
205 | static void intel_overlay_unmap_regs(struct intel_overlay *overlay, | 205 | static void intel_overlay_unmap_regs(struct intel_overlay *overlay, |
206 | struct overlay_registers *regs) | 206 | struct overlay_registers __iomem *regs) |
207 | { | 207 | { |
208 | if (!OVERLAY_NEEDS_PHYSICAL(overlay->dev)) | 208 | if (!OVERLAY_NEEDS_PHYSICAL(overlay->dev)) |
209 | io_mapping_unmap(regs); | 209 | io_mapping_unmap(regs); |
@@ -619,14 +619,15 @@ static const u16 uv_static_hcoeffs[N_HORIZ_UV_TAPS * N_PHASES] = { | |||
619 | 0x3000, 0x0800, 0x3000 | 619 | 0x3000, 0x0800, 0x3000 |
620 | }; | 620 | }; |
621 | 621 | ||
622 | static void update_polyphase_filter(struct overlay_registers *regs) | 622 | static void update_polyphase_filter(struct overlay_registers __iomem *regs) |
623 | { | 623 | { |
624 | memcpy(regs->Y_HCOEFS, y_static_hcoeffs, sizeof(y_static_hcoeffs)); | 624 | memcpy_toio(regs->Y_HCOEFS, y_static_hcoeffs, sizeof(y_static_hcoeffs)); |
625 | memcpy(regs->UV_HCOEFS, uv_static_hcoeffs, sizeof(uv_static_hcoeffs)); | 625 | memcpy_toio(regs->UV_HCOEFS, uv_static_hcoeffs, |
626 | sizeof(uv_static_hcoeffs)); | ||
626 | } | 627 | } |
627 | 628 | ||
628 | static bool update_scaling_factors(struct intel_overlay *overlay, | 629 | static bool update_scaling_factors(struct intel_overlay *overlay, |
629 | struct overlay_registers *regs, | 630 | struct overlay_registers __iomem *regs, |
630 | struct put_image_params *params) | 631 | struct put_image_params *params) |
631 | { | 632 | { |
632 | /* fixed point with a 12 bit shift */ | 633 | /* fixed point with a 12 bit shift */ |
@@ -665,16 +666,19 @@ static bool update_scaling_factors(struct intel_overlay *overlay, | |||
665 | overlay->old_xscale = xscale; | 666 | overlay->old_xscale = xscale; |
666 | overlay->old_yscale = yscale; | 667 | overlay->old_yscale = yscale; |
667 | 668 | ||
668 | regs->YRGBSCALE = (((yscale & FRACT_MASK) << 20) | | 669 | iowrite32(((yscale & FRACT_MASK) << 20) | |
669 | ((xscale >> FP_SHIFT) << 16) | | 670 | ((xscale >> FP_SHIFT) << 16) | |
670 | ((xscale & FRACT_MASK) << 3)); | 671 | ((xscale & FRACT_MASK) << 3), |
672 | ®s->YRGBSCALE); | ||
671 | 673 | ||
672 | regs->UVSCALE = (((yscale_UV & FRACT_MASK) << 20) | | 674 | iowrite32(((yscale_UV & FRACT_MASK) << 20) | |
673 | ((xscale_UV >> FP_SHIFT) << 16) | | 675 | ((xscale_UV >> FP_SHIFT) << 16) | |
674 | ((xscale_UV & FRACT_MASK) << 3)); | 676 | ((xscale_UV & FRACT_MASK) << 3), |
677 | ®s->UVSCALE); | ||
675 | 678 | ||
676 | regs->UVSCALEV = ((((yscale >> FP_SHIFT) << 16) | | 679 | iowrite32((((yscale >> FP_SHIFT) << 16) | |
677 | ((yscale_UV >> FP_SHIFT) << 0))); | 680 | ((yscale_UV >> FP_SHIFT) << 0)), |
681 | ®s->UVSCALEV); | ||
678 | 682 | ||
679 | if (scale_changed) | 683 | if (scale_changed) |
680 | update_polyphase_filter(regs); | 684 | update_polyphase_filter(regs); |
@@ -683,30 +687,32 @@ static bool update_scaling_factors(struct intel_overlay *overlay, | |||
683 | } | 687 | } |
684 | 688 | ||
685 | static void update_colorkey(struct intel_overlay *overlay, | 689 | static void update_colorkey(struct intel_overlay *overlay, |
686 | struct overlay_registers *regs) | 690 | struct overlay_registers __iomem *regs) |
687 | { | 691 | { |
688 | u32 key = overlay->color_key; | 692 | u32 key = overlay->color_key; |
689 | 693 | ||
690 | switch (overlay->crtc->base.fb->bits_per_pixel) { | 694 | switch (overlay->crtc->base.fb->bits_per_pixel) { |
691 | case 8: | 695 | case 8: |
692 | regs->DCLRKV = 0; | 696 | iowrite32(0, ®s->DCLRKV); |
693 | regs->DCLRKM = CLK_RGB8I_MASK | DST_KEY_ENABLE; | 697 | iowrite32(CLK_RGB8I_MASK | DST_KEY_ENABLE, ®s->DCLRKM); |
694 | break; | 698 | break; |
695 | 699 | ||
696 | case 16: | 700 | case 16: |
697 | if (overlay->crtc->base.fb->depth == 15) { | 701 | if (overlay->crtc->base.fb->depth == 15) { |
698 | regs->DCLRKV = RGB15_TO_COLORKEY(key); | 702 | iowrite32(RGB15_TO_COLORKEY(key), ®s->DCLRKV); |
699 | regs->DCLRKM = CLK_RGB15_MASK | DST_KEY_ENABLE; | 703 | iowrite32(CLK_RGB15_MASK | DST_KEY_ENABLE, |
704 | ®s->DCLRKM); | ||
700 | } else { | 705 | } else { |
701 | regs->DCLRKV = RGB16_TO_COLORKEY(key); | 706 | iowrite32(RGB16_TO_COLORKEY(key), ®s->DCLRKV); |
702 | regs->DCLRKM = CLK_RGB16_MASK | DST_KEY_ENABLE; | 707 | iowrite32(CLK_RGB16_MASK | DST_KEY_ENABLE, |
708 | ®s->DCLRKM); | ||
703 | } | 709 | } |
704 | break; | 710 | break; |
705 | 711 | ||
706 | case 24: | 712 | case 24: |
707 | case 32: | 713 | case 32: |
708 | regs->DCLRKV = key; | 714 | iowrite32(key, ®s->DCLRKV); |
709 | regs->DCLRKM = CLK_RGB24_MASK | DST_KEY_ENABLE; | 715 | iowrite32(CLK_RGB24_MASK | DST_KEY_ENABLE, ®s->DCLRKM); |
710 | break; | 716 | break; |
711 | } | 717 | } |
712 | } | 718 | } |
@@ -761,9 +767,10 @@ static int intel_overlay_do_put_image(struct intel_overlay *overlay, | |||
761 | struct put_image_params *params) | 767 | struct put_image_params *params) |
762 | { | 768 | { |
763 | int ret, tmp_width; | 769 | int ret, tmp_width; |
764 | struct overlay_registers *regs; | 770 | struct overlay_registers __iomem *regs; |
765 | bool scale_changed = false; | 771 | bool scale_changed = false; |
766 | struct drm_device *dev = overlay->dev; | 772 | struct drm_device *dev = overlay->dev; |
773 | u32 swidth, swidthsw, sheight, ostride; | ||
767 | 774 | ||
768 | BUG_ON(!mutex_is_locked(&dev->struct_mutex)); | 775 | BUG_ON(!mutex_is_locked(&dev->struct_mutex)); |
769 | BUG_ON(!mutex_is_locked(&dev->mode_config.mutex)); | 776 | BUG_ON(!mutex_is_locked(&dev->mode_config.mutex)); |
@@ -782,16 +789,18 @@ static int intel_overlay_do_put_image(struct intel_overlay *overlay, | |||
782 | goto out_unpin; | 789 | goto out_unpin; |
783 | 790 | ||
784 | if (!overlay->active) { | 791 | if (!overlay->active) { |
792 | u32 oconfig; | ||
785 | regs = intel_overlay_map_regs(overlay); | 793 | regs = intel_overlay_map_regs(overlay); |
786 | if (!regs) { | 794 | if (!regs) { |
787 | ret = -ENOMEM; | 795 | ret = -ENOMEM; |
788 | goto out_unpin; | 796 | goto out_unpin; |
789 | } | 797 | } |
790 | regs->OCONFIG = OCONF_CC_OUT_8BIT; | 798 | oconfig = OCONF_CC_OUT_8BIT; |
791 | if (IS_GEN4(overlay->dev)) | 799 | if (IS_GEN4(overlay->dev)) |
792 | regs->OCONFIG |= OCONF_CSC_MODE_BT709; | 800 | oconfig |= OCONF_CSC_MODE_BT709; |
793 | regs->OCONFIG |= overlay->crtc->pipe == 0 ? | 801 | oconfig |= overlay->crtc->pipe == 0 ? |
794 | OCONF_PIPE_A : OCONF_PIPE_B; | 802 | OCONF_PIPE_A : OCONF_PIPE_B; |
803 | iowrite32(oconfig, ®s->OCONFIG); | ||
795 | intel_overlay_unmap_regs(overlay, regs); | 804 | intel_overlay_unmap_regs(overlay, regs); |
796 | 805 | ||
797 | ret = intel_overlay_on(overlay); | 806 | ret = intel_overlay_on(overlay); |
@@ -805,42 +814,46 @@ static int intel_overlay_do_put_image(struct intel_overlay *overlay, | |||
805 | goto out_unpin; | 814 | goto out_unpin; |
806 | } | 815 | } |
807 | 816 | ||
808 | regs->DWINPOS = (params->dst_y << 16) | params->dst_x; | 817 | iowrite32((params->dst_y << 16) | params->dst_x, ®s->DWINPOS); |
809 | regs->DWINSZ = (params->dst_h << 16) | params->dst_w; | 818 | iowrite32((params->dst_h << 16) | params->dst_w, ®s->DWINSZ); |
810 | 819 | ||
811 | if (params->format & I915_OVERLAY_YUV_PACKED) | 820 | if (params->format & I915_OVERLAY_YUV_PACKED) |
812 | tmp_width = packed_width_bytes(params->format, params->src_w); | 821 | tmp_width = packed_width_bytes(params->format, params->src_w); |
813 | else | 822 | else |
814 | tmp_width = params->src_w; | 823 | tmp_width = params->src_w; |
815 | 824 | ||
816 | regs->SWIDTH = params->src_w; | 825 | swidth = params->src_w; |
817 | regs->SWIDTHSW = calc_swidthsw(overlay->dev, | 826 | swidthsw = calc_swidthsw(overlay->dev, params->offset_Y, tmp_width); |
818 | params->offset_Y, tmp_width); | 827 | sheight = params->src_h; |
819 | regs->SHEIGHT = params->src_h; | 828 | iowrite32(new_bo->gtt_offset + params->offset_Y, ®s->OBUF_0Y); |
820 | regs->OBUF_0Y = new_bo->gtt_offset + params->offset_Y; | 829 | ostride = params->stride_Y; |
821 | regs->OSTRIDE = params->stride_Y; | ||
822 | 830 | ||
823 | if (params->format & I915_OVERLAY_YUV_PLANAR) { | 831 | if (params->format & I915_OVERLAY_YUV_PLANAR) { |
824 | int uv_hscale = uv_hsubsampling(params->format); | 832 | int uv_hscale = uv_hsubsampling(params->format); |
825 | int uv_vscale = uv_vsubsampling(params->format); | 833 | int uv_vscale = uv_vsubsampling(params->format); |
826 | u32 tmp_U, tmp_V; | 834 | u32 tmp_U, tmp_V; |
827 | regs->SWIDTH |= (params->src_w/uv_hscale) << 16; | 835 | swidth |= (params->src_w/uv_hscale) << 16; |
828 | tmp_U = calc_swidthsw(overlay->dev, params->offset_U, | 836 | tmp_U = calc_swidthsw(overlay->dev, params->offset_U, |
829 | params->src_w/uv_hscale); | 837 | params->src_w/uv_hscale); |
830 | tmp_V = calc_swidthsw(overlay->dev, params->offset_V, | 838 | tmp_V = calc_swidthsw(overlay->dev, params->offset_V, |
831 | params->src_w/uv_hscale); | 839 | params->src_w/uv_hscale); |
832 | regs->SWIDTHSW |= max_t(u32, tmp_U, tmp_V) << 16; | 840 | swidthsw |= max_t(u32, tmp_U, tmp_V) << 16; |
833 | regs->SHEIGHT |= (params->src_h/uv_vscale) << 16; | 841 | sheight |= (params->src_h/uv_vscale) << 16; |
834 | regs->OBUF_0U = new_bo->gtt_offset + params->offset_U; | 842 | iowrite32(new_bo->gtt_offset + params->offset_U, ®s->OBUF_0U); |
835 | regs->OBUF_0V = new_bo->gtt_offset + params->offset_V; | 843 | iowrite32(new_bo->gtt_offset + params->offset_V, ®s->OBUF_0V); |
836 | regs->OSTRIDE |= params->stride_UV << 16; | 844 | ostride |= params->stride_UV << 16; |
837 | } | 845 | } |
838 | 846 | ||
847 | iowrite32(swidth, ®s->SWIDTH); | ||
848 | iowrite32(swidthsw, ®s->SWIDTHSW); | ||
849 | iowrite32(sheight, ®s->SHEIGHT); | ||
850 | iowrite32(ostride, ®s->OSTRIDE); | ||
851 | |||
839 | scale_changed = update_scaling_factors(overlay, regs, params); | 852 | scale_changed = update_scaling_factors(overlay, regs, params); |
840 | 853 | ||
841 | update_colorkey(overlay, regs); | 854 | update_colorkey(overlay, regs); |
842 | 855 | ||
843 | regs->OCMD = overlay_cmd_reg(params); | 856 | iowrite32(overlay_cmd_reg(params), ®s->OCMD); |
844 | 857 | ||
845 | intel_overlay_unmap_regs(overlay, regs); | 858 | intel_overlay_unmap_regs(overlay, regs); |
846 | 859 | ||
@@ -860,7 +873,7 @@ out_unpin: | |||
860 | 873 | ||
861 | int intel_overlay_switch_off(struct intel_overlay *overlay) | 874 | int intel_overlay_switch_off(struct intel_overlay *overlay) |
862 | { | 875 | { |
863 | struct overlay_registers *regs; | 876 | struct overlay_registers __iomem *regs; |
864 | struct drm_device *dev = overlay->dev; | 877 | struct drm_device *dev = overlay->dev; |
865 | int ret; | 878 | int ret; |
866 | 879 | ||
@@ -879,7 +892,7 @@ int intel_overlay_switch_off(struct intel_overlay *overlay) | |||
879 | return ret; | 892 | return ret; |
880 | 893 | ||
881 | regs = intel_overlay_map_regs(overlay); | 894 | regs = intel_overlay_map_regs(overlay); |
882 | regs->OCMD = 0; | 895 | iowrite32(0, ®s->OCMD); |
883 | intel_overlay_unmap_regs(overlay, regs); | 896 | intel_overlay_unmap_regs(overlay, regs); |
884 | 897 | ||
885 | ret = intel_overlay_off(overlay); | 898 | ret = intel_overlay_off(overlay); |
@@ -1250,10 +1263,11 @@ out_free: | |||
1250 | } | 1263 | } |
1251 | 1264 | ||
1252 | static void update_reg_attrs(struct intel_overlay *overlay, | 1265 | static void update_reg_attrs(struct intel_overlay *overlay, |
1253 | struct overlay_registers *regs) | 1266 | struct overlay_registers __iomem *regs) |
1254 | { | 1267 | { |
1255 | regs->OCLRC0 = (overlay->contrast << 18) | (overlay->brightness & 0xff); | 1268 | iowrite32((overlay->contrast << 18) | (overlay->brightness & 0xff), |
1256 | regs->OCLRC1 = overlay->saturation; | 1269 | ®s->OCLRC0); |
1270 | iowrite32(overlay->saturation, ®s->OCLRC1); | ||
1257 | } | 1271 | } |
1258 | 1272 | ||
1259 | static bool check_gamma_bounds(u32 gamma1, u32 gamma2) | 1273 | static bool check_gamma_bounds(u32 gamma1, u32 gamma2) |
@@ -1306,7 +1320,7 @@ int intel_overlay_attrs(struct drm_device *dev, void *data, | |||
1306 | struct drm_intel_overlay_attrs *attrs = data; | 1320 | struct drm_intel_overlay_attrs *attrs = data; |
1307 | drm_i915_private_t *dev_priv = dev->dev_private; | 1321 | drm_i915_private_t *dev_priv = dev->dev_private; |
1308 | struct intel_overlay *overlay; | 1322 | struct intel_overlay *overlay; |
1309 | struct overlay_registers *regs; | 1323 | struct overlay_registers __iomem *regs; |
1310 | int ret; | 1324 | int ret; |
1311 | 1325 | ||
1312 | if (!dev_priv) { | 1326 | if (!dev_priv) { |
@@ -1396,7 +1410,7 @@ void intel_setup_overlay(struct drm_device *dev) | |||
1396 | drm_i915_private_t *dev_priv = dev->dev_private; | 1410 | drm_i915_private_t *dev_priv = dev->dev_private; |
1397 | struct intel_overlay *overlay; | 1411 | struct intel_overlay *overlay; |
1398 | struct drm_i915_gem_object *reg_bo; | 1412 | struct drm_i915_gem_object *reg_bo; |
1399 | struct overlay_registers *regs; | 1413 | struct overlay_registers __iomem *regs; |
1400 | int ret; | 1414 | int ret; |
1401 | 1415 | ||
1402 | if (!HAS_OVERLAY(dev)) | 1416 | if (!HAS_OVERLAY(dev)) |
@@ -1451,7 +1465,7 @@ void intel_setup_overlay(struct drm_device *dev) | |||
1451 | if (!regs) | 1465 | if (!regs) |
1452 | goto out_unpin_bo; | 1466 | goto out_unpin_bo; |
1453 | 1467 | ||
1454 | memset(regs, 0, sizeof(struct overlay_registers)); | 1468 | memset_io(regs, 0, sizeof(struct overlay_registers)); |
1455 | update_polyphase_filter(regs); | 1469 | update_polyphase_filter(regs); |
1456 | update_reg_attrs(overlay, regs); | 1470 | update_reg_attrs(overlay, regs); |
1457 | 1471 | ||
@@ -1499,14 +1513,17 @@ struct intel_overlay_error_state { | |||
1499 | u32 isr; | 1513 | u32 isr; |
1500 | }; | 1514 | }; |
1501 | 1515 | ||
1502 | static struct overlay_registers * | 1516 | static struct overlay_registers __iomem * |
1503 | intel_overlay_map_regs_atomic(struct intel_overlay *overlay) | 1517 | intel_overlay_map_regs_atomic(struct intel_overlay *overlay) |
1504 | { | 1518 | { |
1505 | drm_i915_private_t *dev_priv = overlay->dev->dev_private; | 1519 | drm_i915_private_t *dev_priv = overlay->dev->dev_private; |
1506 | struct overlay_registers *regs; | 1520 | struct overlay_registers __iomem *regs; |
1507 | 1521 | ||
1508 | if (OVERLAY_NEEDS_PHYSICAL(overlay->dev)) | 1522 | if (OVERLAY_NEEDS_PHYSICAL(overlay->dev)) |
1509 | regs = overlay->reg_bo->phys_obj->handle->vaddr; | 1523 | /* Cast to make sparse happy, but it's wc memory anyway, so |
1524 | * equivalent to the wc io mapping on X86. */ | ||
1525 | regs = (struct overlay_registers __iomem *) | ||
1526 | overlay->reg_bo->phys_obj->handle->vaddr; | ||
1510 | else | 1527 | else |
1511 | regs = io_mapping_map_atomic_wc(dev_priv->mm.gtt_mapping, | 1528 | regs = io_mapping_map_atomic_wc(dev_priv->mm.gtt_mapping, |
1512 | overlay->reg_bo->gtt_offset); | 1529 | overlay->reg_bo->gtt_offset); |
@@ -1515,7 +1532,7 @@ intel_overlay_map_regs_atomic(struct intel_overlay *overlay) | |||
1515 | } | 1532 | } |
1516 | 1533 | ||
1517 | static void intel_overlay_unmap_regs_atomic(struct intel_overlay *overlay, | 1534 | static void intel_overlay_unmap_regs_atomic(struct intel_overlay *overlay, |
1518 | struct overlay_registers *regs) | 1535 | struct overlay_registers __iomem *regs) |
1519 | { | 1536 | { |
1520 | if (!OVERLAY_NEEDS_PHYSICAL(overlay->dev)) | 1537 | if (!OVERLAY_NEEDS_PHYSICAL(overlay->dev)) |
1521 | io_mapping_unmap_atomic(regs); | 1538 | io_mapping_unmap_atomic(regs); |
@@ -1540,9 +1557,9 @@ intel_overlay_capture_error_state(struct drm_device *dev) | |||
1540 | error->dovsta = I915_READ(DOVSTA); | 1557 | error->dovsta = I915_READ(DOVSTA); |
1541 | error->isr = I915_READ(ISR); | 1558 | error->isr = I915_READ(ISR); |
1542 | if (OVERLAY_NEEDS_PHYSICAL(overlay->dev)) | 1559 | if (OVERLAY_NEEDS_PHYSICAL(overlay->dev)) |
1543 | error->base = (long) overlay->reg_bo->phys_obj->handle->vaddr; | 1560 | error->base = (__force long)overlay->reg_bo->phys_obj->handle->vaddr; |
1544 | else | 1561 | else |
1545 | error->base = (long) overlay->reg_bo->gtt_offset; | 1562 | error->base = overlay->reg_bo->gtt_offset; |
1546 | 1563 | ||
1547 | regs = intel_overlay_map_regs_atomic(overlay); | 1564 | regs = intel_overlay_map_regs_atomic(overlay); |
1548 | if (!regs) | 1565 | if (!regs) |