Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, On Wed, 22 Nov 2023 11:51:37 +1100 Stephen Rothwell wrote: > > Today's linux-next merge of the drm-intel tree got a conflict in: > > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c > > between commit: > > 9031e0013f81 ("drm/amd/display: Fix mst hub unplug warning") > > from Linus' tree and commit: > > 191dc43935d1 ("drm/dp_mst: Store the MST PBN divider value in fixed point > format") > > from the drm-intel tree. > > I fixed it up (I just used the former) and can carry the fix as > necessary. This is now fixed as far as linux-next is concerned, but any > non trivial conflicts should be mentioned to your upstream maintainer > when your tree is submitted for merging. You may also want to consider > cooperating with the maintainer of the conflicting tree to minimise any > particularly complex conflicts. Actually, the resolution I used is below. -- Cheers, Stephen Rothwell diff --cc drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c index c7a29bb737e2,53e323b71d26.. --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c @@@ -209,11 -210,11 +210,11 @@@ static void dm_helpers_construct_old_pa struct drm_dp_mst_atomic_payload *new_payload, struct drm_dp_mst_atomic_payload *old_payload) { - struct link_mst_stream_allocation_table current_link_table = - link->mst_stream_alloc_table; - struct link_mst_stream_allocation *dc_alloc; - int pbn_per_slot = dfixed_trunc(pbn_per_slot_fp); - int i; + struct drm_dp_mst_atomic_payload *pos; - int pbn_per_slot = mst_state->pbn_div; ++ int pbn_per_slot = dfixed_trunc(mst_state->pbn_div); + u8 next_payload_vc_start = mgr->next_start_slot; + u8 payload_vc_start = new_payload->vc_start_slot; + u8 allocated_time_slots; *old_payload = *new_payload; pgpzMSR9p2yuZ.pgp Description: OpenPGP digital signature
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c between commit: 9031e0013f81 ("drm/amd/display: Fix mst hub unplug warning") from Linus' tree and commit: 191dc43935d1 ("drm/dp_mst: Store the MST PBN divider value in fixed point format") from the drm-intel tree. I fixed it up (I just used the former) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell pgpYKxsqmW5zI.pgp Description: OpenPGP digital signature
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/i915_driver.c between commit: 2293a73ad4f3 ("drm/i915: Remove unused variable") from Linus' tree and commit: e5e43d3363d7 ("drm/i915/display: Pass drm_i915_private as param to i915 funcs") from the drm-intel tree. I fixed it up (the latter commit means that the variable removed in the former is still needed - see below ) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/gpu/drm/i915/i915_driver.c index cf1c0970ecb4,4a2dc43791c3.. --- a/drivers/gpu/drm/i915/i915_driver.c +++ b/drivers/gpu/drm/i915/i915_driver.c @@@ -936,9 -930,12 +930,11 @@@ static int i915_driver_open(struct drm_ */ static void i915_driver_lastclose(struct drm_device *dev) { - intel_fbdev_restore_mode(dev); + struct drm_i915_private *i915 = to_i915(dev); + + intel_fbdev_restore_mode(i915); - if (HAS_DISPLAY(i915)) - vga_switcheroo_process_delayed_switch(); + vga_switcheroo_process_delayed_switch(); } static void i915_driver_postclose(struct drm_device *dev, struct drm_file *file) pgpmuzNyiBSvV.pgp Description: OpenPGP digital signature
Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
On Mon, Nov 14, 2022 at 01:02:46PM +0200, Jani Nikula wrote: > On Mon, 14 Nov 2022, Hans de Goede wrote: > > Hi, > > > > On 11/14/22 11:10, Jani Nikula wrote: > >> On Mon, 14 Nov 2022, Hans de Goede wrote: > >>> Hi, > >>> > >>> On 11/14/22 00:23, Stephen Rothwell wrote: > Hi all, > > Today's linux-next merge of the drm-intel tree got a conflict in: > > drivers/gpu/drm/i915/display/intel_backlight.c > > between commit: > > b1d36e73cc1c ("drm/i915: Don't register backlight when another > backlight should be used (v2)") > > from Linus' tree and commit: > > 801543b2593b ("drm/i915: stop including i915_irq.h from i915_trace.h") > > from the drm-intel tree. > >>> > >>> This is weird, because the: > >>> > >>>b1d36e73cc1c ("drm/i915: Don't register backlight when another > >>> backlight should be used (v2)") > >>> > >>> commit is in 6.1-rc1, so there can only be a conflict it 6.1-rc1 has not > >>> been back-merged into drm-intel yet ? > >> > >> That's the reason it *is* a conflict, right? > > > > Right what I was trying to say is that I am surprised that 6.1-rc1 has not > > been back-merged into drm-intel yet even though it has been released > > 4 weeks ago. > > Right, -ENOCOFFEE at my end. > > > I thought it was more or less standard process to backmerge rc1 soon after > > it is released ? > > The delay may be because v6.1-rc1 brought in more regressions for us > than any other -rc1 in recent memory. Our CI's been suffering, and our > folks have been spending a lot of time debugging, bisecting and > reporting. (And before you ask, yes, we're going to be more proactive in > reporting issues we find in linux-next.) > > That said, Rodrigo's been in charge of drm-intel-next this cycle, maybe > it's time to backmerge drm-next? yeap, I'm on it... > > > BR, > Jani. > > -- > Jani Nikula, Intel Open Source Graphics Center
Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
On Mon, 14 Nov 2022, Hans de Goede wrote: > Hi, > > On 11/14/22 11:10, Jani Nikula wrote: >> On Mon, 14 Nov 2022, Hans de Goede wrote: >>> Hi, >>> >>> On 11/14/22 00:23, Stephen Rothwell wrote: Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/display/intel_backlight.c between commit: b1d36e73cc1c ("drm/i915: Don't register backlight when another backlight should be used (v2)") from Linus' tree and commit: 801543b2593b ("drm/i915: stop including i915_irq.h from i915_trace.h") from the drm-intel tree. >>> >>> This is weird, because the: >>> >>>b1d36e73cc1c ("drm/i915: Don't register backlight when another backlight >>> should be used (v2)") >>> >>> commit is in 6.1-rc1, so there can only be a conflict it 6.1-rc1 has not >>> been back-merged into drm-intel yet ? >> >> That's the reason it *is* a conflict, right? > > Right what I was trying to say is that I am surprised that 6.1-rc1 has not > been back-merged into drm-intel yet even though it has been released > 4 weeks ago. Right, -ENOCOFFEE at my end. > I thought it was more or less standard process to backmerge rc1 soon after > it is released ? The delay may be because v6.1-rc1 brought in more regressions for us than any other -rc1 in recent memory. Our CI's been suffering, and our folks have been spending a lot of time debugging, bisecting and reporting. (And before you ask, yes, we're going to be more proactive in reporting issues we find in linux-next.) That said, Rodrigo's been in charge of drm-intel-next this cycle, maybe it's time to backmerge drm-next? BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center
Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi, On 11/14/22 11:10, Jani Nikula wrote: > On Mon, 14 Nov 2022, Hans de Goede wrote: >> Hi, >> >> On 11/14/22 00:23, Stephen Rothwell wrote: >>> Hi all, >>> >>> Today's linux-next merge of the drm-intel tree got a conflict in: >>> >>> drivers/gpu/drm/i915/display/intel_backlight.c >>> >>> between commit: >>> >>> b1d36e73cc1c ("drm/i915: Don't register backlight when another backlight >>> should be used (v2)") >>> >>> from Linus' tree and commit: >>> >>> 801543b2593b ("drm/i915: stop including i915_irq.h from i915_trace.h") >>> >>> from the drm-intel tree. >> >> This is weird, because the: >> >>b1d36e73cc1c ("drm/i915: Don't register backlight when another backlight >> should be used (v2)") >> >> commit is in 6.1-rc1, so there can only be a conflict it 6.1-rc1 has not >> been back-merged into drm-intel yet ? > > That's the reason it *is* a conflict, right? Right what I was trying to say is that I am surprised that 6.1-rc1 has not been back-merged into drm-intel yet even though it has been released 4 weeks ago. I thought it was more or less standard process to backmerge rc1 soon after it is released ? Regards, Hans
Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
On Mon, 14 Nov 2022, Hans de Goede wrote: > Hi, > > On 11/14/22 00:23, Stephen Rothwell wrote: >> Hi all, >> >> Today's linux-next merge of the drm-intel tree got a conflict in: >> >> drivers/gpu/drm/i915/display/intel_backlight.c >> >> between commit: >> >> b1d36e73cc1c ("drm/i915: Don't register backlight when another backlight >> should be used (v2)") >> >> from Linus' tree and commit: >> >> 801543b2593b ("drm/i915: stop including i915_irq.h from i915_trace.h") >> >> from the drm-intel tree. > > This is weird, because the: > >b1d36e73cc1c ("drm/i915: Don't register backlight when another backlight > should be used (v2)") > > commit is in 6.1-rc1, so there can only be a conflict it 6.1-rc1 has not > been back-merged into drm-intel yet ? That's the reason it *is* a conflict, right? BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center
Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi, On 11/14/22 00:23, Stephen Rothwell wrote: > Hi all, > > Today's linux-next merge of the drm-intel tree got a conflict in: > > drivers/gpu/drm/i915/display/intel_backlight.c > > between commit: > > b1d36e73cc1c ("drm/i915: Don't register backlight when another backlight > should be used (v2)") > > from Linus' tree and commit: > > 801543b2593b ("drm/i915: stop including i915_irq.h from i915_trace.h") > > from the drm-intel tree. This is weird, because the: b1d36e73cc1c ("drm/i915: Don't register backlight when another backlight should be used (v2)") commit is in 6.1-rc1, so there can only be a conflict it 6.1-rc1 has not been back-merged into drm-intel yet ? Regards, Hans
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/display/intel_backlight.c between commit: b1d36e73cc1c ("drm/i915: Don't register backlight when another backlight should be used (v2)") from Linus' tree and commit: 801543b2593b ("drm/i915: stop including i915_irq.h from i915_trace.h") from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/gpu/drm/i915/display/intel_backlight.c index beba39a38c87,0438071f58cf.. --- a/drivers/gpu/drm/i915/display/intel_backlight.c +++ b/drivers/gpu/drm/i915/display/intel_backlight.c @@@ -8,8 -8,7 +8,9 @@@ #include #include +#include + + #include "i915_reg.h" #include "intel_backlight.h" #include "intel_backlight_regs.h" #include "intel_connector.h" pgpfrGlqyX5MM.pgp Description: OpenPGP digital signature
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/i915_driver.c between commit: 1c66a12ab431 ("drm/i915: Handle each GT on init/release and suspend/resume") from Linus' tree and commit: 3703060d17b0 ("drm/i915/display: remove drm_device aliases") from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/gpu/drm/i915/i915_driver.c index c459eb362c47,e7b2ebc6b88d.. --- a/drivers/gpu/drm/i915/i915_driver.c +++ b/drivers/gpu/drm/i915/i915_driver.c @@@ -337,10 -324,11 +337,11 @@@ static int i915_driver_early_probe(stru if (i915_inject_probe_failure(dev_priv)) return -ENODEV; - intel_device_info_subplatform_init(dev_priv); + intel_device_info_runtime_init_early(dev_priv); + intel_step_init(dev_priv); - intel_uncore_mmio_debug_init_early(_priv->mmio_debug); + intel_uncore_mmio_debug_init_early(dev_priv); spin_lock_init(_priv->irq_lock); spin_lock_init(_priv->gpu_error.lock); @@@ -738,10 -716,6 +739,9 @@@ static void i915_driver_hw_remove(struc */ static void i915_driver_register(struct drm_i915_private *dev_priv) { - struct drm_device *dev = _priv->drm; + struct intel_gt *gt; + unsigned int i; + i915_gem_driver_register(dev_priv); i915_pmu_register(dev_priv); pgplm44y4DCep.pgp Description: OpenPGP digital signature
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/gt/intel_rps.c between commit: 56758cc45955 ("drm/i915/rps: Centralize computation of freq caps") from Linus' tree and commit: ee421bb4cb95 ("drm/i915/pcode: Extend pcode functions for multiple gt's") from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/gpu/drm/i915/gt/intel_rps.c index 3476a11f294c,ce61ceb07114.. --- a/drivers/gpu/drm/i915/gt/intel_rps.c +++ b/drivers/gpu/drm/i915/gt/intel_rps.c @@@ -1138,15 -1095,13 +1138,16 @@@ static void gen6_rps_init(struct intel_ if (IS_HASWELL(i915) || IS_BROADWELL(i915) || IS_GEN9_BC(i915) || GRAPHICS_VER(i915) >= 11) { u32 ddcc_status = 0; + u32 mult = 1; + if (IS_GEN9_BC(i915) || GRAPHICS_VER(i915) >= 11) + mult = GEN9_FREQ_SCALER; - if (snb_pcode_read(i915, HSW_PCODE_DYNAMIC_DUTY_CYCLE_CONTROL, + if (snb_pcode_read(rps_to_gt(rps)->uncore, + HSW_PCODE_DYNAMIC_DUTY_CYCLE_CONTROL, _status, NULL) == 0) rps->efficient_freq = - clamp_t(u8, - (ddcc_status >> 8) & 0xff, + clamp_t(u32, + ((ddcc_status >> 8) & 0xff) * mult, rps->min_freq, rps->max_freq); } pgpJkIW01BB5U.pgp Description: OpenPGP digital signature
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/display/intel_dmc_regs.h between commit: 2518f226c60d ("Merge tag 'drm-next-2022-05-25' of git://anongit.freedesktop.org/drm/drm") from Linus' tree and commit: 21c47196aec3 ("drm/i915/dmc: Add MMIO range restrictions") from the drm-intel tree. I fixed it up (these were only white space differences, so I just used the version from Linus' tree) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell pgp73lee5kJYq.pgp Description: OpenPGP digital signature
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/intel_device_info.h between commit: 5e3094cfd9fb ("drm/i915/xehpsdv: Add has_flat_ccs to device info") from Linus' tree and commit: 072ce4164f97 ("drm/i915/dg2: Tile 4 plane format support") from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/gpu/drm/i915/intel_device_info.h index 291215d9da28,8026e805ff12.. --- a/drivers/gpu/drm/i915/intel_device_info.h +++ b/drivers/gpu/drm/i915/intel_device_info.h @@@ -134,10 -131,9 +134,11 @@@ enum intel_ppgtt_type /* Keep has_* in alphabetical order */ \ func(has_64bit_reloc); \ func(has_64k_pages); \ + func(needs_compact_pt); \ func(gpu_reset_clobbers_display); \ func(has_reset_engine); \ + func(has_flat_ccs); \ + func(has_4tile); \ func(has_global_mocs); \ func(has_gt_uc); \ func(has_guc_deprivilege); \ pgpWGNwWt0Be_.pgp Description: OpenPGP digital signature
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/i915_pci.c between commit: 132aaaf01788 ("drm/i915: add needs_compact_pt flag") from Linus' tree and commits: 072ce4164f97 ("drm/i915/dg2: Tile 4 plane format support") 412c942bdfae ("drm/i915/ats-m: add ATS-M platform info") from the drm-intel tree. I fixed it up (I think, see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/gpu/drm/i915/i915_pci.c index c32c0c6661c8,8e321d300e0c.. --- a/drivers/gpu/drm/i915/i915_pci.c +++ b/drivers/gpu/drm/i915/i915_pci.c @@@ -1040,25 -1038,35 +1040,36 @@@ static const struct intel_device_info x .require_force_probe = 1, }; + #define DG2_FEATURES \ + XE_HP_FEATURES, \ + XE_HPM_FEATURES, \ + DGFX_FEATURES, \ + .graphics.rel = 55, \ + .media.rel = 55, \ + PLATFORM(INTEL_DG2), \ + .has_4tile = 1, \ + .has_64k_pages = 1, \ ++ .needs_compact_pt = 1, \ + .has_guc_deprivilege = 1, \ + .platform_engine_mask = \ + BIT(RCS0) | BIT(BCS0) | \ + BIT(VECS0) | BIT(VECS1) | \ + BIT(VCS0) | BIT(VCS2) + __maybe_unused static const struct intel_device_info dg2_info = { - XE_HP_FEATURES, - XE_HPM_FEATURES, + DG2_FEATURES, XE_LPD_FEATURES, - DGFX_FEATURES, - .graphics.rel = 55, - .media.rel = 55, - PLATFORM(INTEL_DG2), - .has_guc_deprivilege = 1, - .has_64k_pages = 1, - .needs_compact_pt = 1, - .platform_engine_mask = - BIT(RCS0) | BIT(BCS0) | - BIT(VECS0) | BIT(VECS1) | - BIT(VCS0) | BIT(VCS2), - .require_force_probe = 1, .display.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C) | BIT(TRANSCODER_D), + .require_force_probe = 1, + }; + + __maybe_unused + static const struct intel_device_info ats_m_info = { + DG2_FEATURES, + .display = { 0 }, + .require_force_probe = 1, }; #undef PLATFORM pgpaO2bHB3Dcy.pgp Description: OpenPGP digital signature
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/intel_pm.c between commit: cca084692394 ("drm/i915: Use per device iommu check") from Linus' tree and commit: 8172375ea95a ("drm/i915: Remove zombie async flip vt-d w/a") from the drm-intel tree. I fixed it up (the latter removed the code modified by the former, so I just did that) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell pgpnCh0SfU4dT.pgp Description: OpenPGP digital signature
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/i915_reg.h between commit: 77cdd054dd2c ("drm/i915/pmu: Connect engine busyness stats from GuC to pmu") from Linus' tree and commit: 202b1f4c1234 ("drm/i915/gt: Move engine registers to their own header") from the drm-intel tree. I fixed it up (see below - maybe should be done better?) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/gpu/drm/i915/i915_reg.h index 971d601fe751,cf168c3e0471.. --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@@ -2661,52 -1825,7 +1843,9 @@@ #define AUX_INV REG_BIT(0) #define BLT_HWS_PGA_GEN7 _MMIO(0x04280) #define VEBOX_HWS_PGA_GEN7_MMIO(0x04380) - #define RING_ACTHD(base) _MMIO((base) + 0x74) - #define RING_ACTHD_UDW(base) _MMIO((base) + 0x5c) - #define RING_NOPID(base) _MMIO((base) + 0x94) - #define RING_IMR(base)_MMIO((base) + 0xa8) - #define RING_HWSTAM(base) _MMIO((base) + 0x98) - #define RING_TIMESTAMP(base) _MMIO((base) + 0x358) - #define RING_TIMESTAMP_UDW(base) _MMIO((base) + 0x358 + 4) - #define TAIL_ADDR 0x0018 - #define HEAD_WRAP_COUNT 0xFFE0 - #define HEAD_WRAP_ONE 0x0020 - #define HEAD_ADDR 0x001C - #define RING_NR_PAGES 0x001FF000 - #define RING_REPORT_MASK0x0006 - #define RING_REPORT_64K 0x0002 - #define RING_REPORT_128K0x0004 - #define RING_NO_REPORT 0x - #define RING_VALID_MASK 0x0001 - #define RING_VALID 0x0001 - #define RING_INVALID0x - #define RING_WAIT_I8XX (1 << 0) /* gen2, PRBx_HEAD */ - #define RING_WAIT (1 << 11) /* gen3+, PRBx_CTL */ - #define RING_WAIT_SEMAPHORE (1 << 10) /* gen6+ */ +#define GUCPMTIMESTAMP _MMIO(0xC3E8) + - /* There are 16 64-bit CS General Purpose Registers per-engine on Gen8+ */ - #define GEN8_RING_CS_GPR(base, n) _MMIO((base) + 0x600 + (n) * 8) - #define GEN8_RING_CS_GPR_UDW(base, n) _MMIO((base) + 0x600 + (n) * 8 + 4) - - #define RING_FORCE_TO_NONPRIV(base, i) _MMIO(((base) + 0x4D0) + (i) * 4) - #define RING_FORCE_TO_NONPRIV_ADDRESS_MASK REG_GENMASK(25, 2) - #define RING_FORCE_TO_NONPRIV_ACCESS_RW (0 << 28)/* CFL+ & Gen11+ */ - #define RING_FORCE_TO_NONPRIV_ACCESS_RD (1 << 28) - #define RING_FORCE_TO_NONPRIV_ACCESS_WR (2 << 28) - #define RING_FORCE_TO_NONPRIV_ACCESS_INVALID(3 << 28) - #define RING_FORCE_TO_NONPRIV_ACCESS_MASK (3 << 28) - #define RING_FORCE_TO_NONPRIV_RANGE_1 (0 << 0) /* CFL+ & Gen11+ */ - #define RING_FORCE_TO_NONPRIV_RANGE_4 (1 << 0) - #define RING_FORCE_TO_NONPRIV_RANGE_16 (2 << 0) - #define RING_FORCE_TO_NONPRIV_RANGE_64 (3 << 0) - #define RING_FORCE_TO_NONPRIV_RANGE_MASK(3 << 0) - #define RING_FORCE_TO_NONPRIV_MASK_VALID\ - (RING_FORCE_TO_NONPRIV_RANGE_MASK \ - | RING_FORCE_TO_NONPRIV_ACCESS_MASK) - #define RING_MAX_NONPRIV_SLOTS 12 - #define GEN7_TLB_RD_ADDR _MMIO(0x4700) #define GEN9_GAMT_ECO_REG_RW_IA _MMIO(0x4ab0) @@@ -2778,27 -1885,7 +1905,10 @@@ #define GEN2_INSTDONE _MMIO(0x2090) #define NOPID _MMIO(0x2094) #define HWSTAM_MMIO(0x2098) - #define DMA_FADD_I8XX(base) _MMIO((base) + 0xd0) - #define RING_BBSTATE(base)_MMIO((base) + 0x110) - #define RING_BB_PPGTT (1 << 5) - #define RING_SBBADDR(base)_MMIO((base) + 0x114) /* hsw+ */ - #define RING_SBBSTATE(base) _MMIO((base) + 0x118) /* hsw+ */ - #define RING_SBBADDR_UDW(base)_MMIO((base) + 0x11c) /* gen8+ */ - #define RING_BBADDR(base) _MMIO((base) + 0x140) - #define RING_BBADDR_UDW(base) _MMIO((base) + 0x168) /* gen8+ */ - #define RING_BB_PER_CTX_PTR(base) _MMIO((base) + 0x1c0) /* gen8+ */ - #define RING_INDIRECT_CTX(base) _MMIO((base) + 0x1c4) /* gen8+ */ - #define RING_INDIRECT_CTX_OFFSET(base)_MMIO((base) + 0x1c8) /* gen8+ */ - #define RING_CTX_TIMESTAMP(base) _MMIO((base) + 0x3a8) /* gen8+ */ - - #define VDBOX_CGCTL3F10(base) _MMIO((base) + 0x3f10) - #define IECPUNIT_CLKGATE_DISREG_BIT(22) +#define VDBOX_CGCTL3F18(base) _MMIO((base) + 0x3f18) +#define ALNUNIT_CLKGATE_DIS REG_BIT(13) + #define ERROR_GEN6_MMIO(0x40a0) #define GEN7_ERR_INT _MMIO(0x44040) #define ERR_INT_POISON (1 << 31) pgpUvlxnhLXiA.pgp Description:
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/display/intel_display.c between commit: b4bde5554f70 ("drm/i915/display: split DISPLAY_VER 9 and 10 in intel_setup_outputs()") from Linus' tree and commits: cad83b405fe4 ("drm/i915/display: remove PORT_F workaround for CNL") ec387b8ff8d7 ("drm/i915/display: split DISPLAY_VER 9 and 10 in intel_setup_outputs()") from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. diff --cc drivers/gpu/drm/i915/display/intel_display.c index 557871ee07db,3faedcb7ef42.. --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c
Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, On Thu, 20 May 2021 10:19:10 +1000 Stephen Rothwell wrote: > > Today's linux-next merge of the drm-intel tree got a conflict in: > > drivers/gpu/drm/i915/i915_mm.c > > between commit: > > 293837b9ac8d ("Revert "i915: fix remap_io_sg to verify the pgprot"") > > from Linus' tree and commit: > > ec279384c6a0 ("drm/i915: Initialize err in remap_io_sg()") > > from the drm-intel tree. > > I fixed it up (see below) and can carry the fix as necessary. This > is now fixed as far as linux-next is concerned, but any non trivial > conflicts should be mentioned to your upstream maintainer when your tree > is submitted for merging. You may also want to consider cooperating > with the maintainer of the conflicting tree to minimise any particularly > complex conflicts. > > > diff --cc drivers/gpu/drm/i915/i915_mm.c > index 9a777b0ff59b,25576fa73ff0.. > --- a/drivers/gpu/drm/i915/i915_mm.c > +++ b/drivers/gpu/drm/i915/i915_mm.c > @@@ -82,13 -46,8 +82,13 @@@ int remap_io_sg(struct vm_area_struct * > unsigned long addr, unsigned long size, > struct scatterlist *sgl, resource_size_t iobase) > { > -unsigned long pfn, len, remapped = 0; > +struct remap_pfn r = { > +.mm = vma->vm_mm, > +.prot = vma->vm_page_prot, > +.sgt = __sgt_iter(sgl, use_dma(iobase)), > +.iobase = iobase, > +}; > - int err; > + int err = 0; > > /* We rely on prevalidation of the io-mapping to skip track_pfn(). */ > GEM_BUG_ON((vma->vm_flags & EXPECTED_FLAGS) != EXPECTED_FLAGS); This is now a conflict between the drm tree and Linus' tree. -- Cheers, Stephen Rothwell pgp9fOXoQ9Kcg.pgp Description: OpenPGP digital signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/i915_mm.c between commit: 293837b9ac8d ("Revert "i915: fix remap_io_sg to verify the pgprot"") from Linus' tree and commit: ec279384c6a0 ("drm/i915: Initialize err in remap_io_sg()") from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/gpu/drm/i915/i915_mm.c index 9a777b0ff59b,25576fa73ff0.. --- a/drivers/gpu/drm/i915/i915_mm.c +++ b/drivers/gpu/drm/i915/i915_mm.c @@@ -82,13 -46,8 +82,13 @@@ int remap_io_sg(struct vm_area_struct * unsigned long addr, unsigned long size, struct scatterlist *sgl, resource_size_t iobase) { - unsigned long pfn, len, remapped = 0; + struct remap_pfn r = { + .mm = vma->vm_mm, + .prot = vma->vm_page_prot, + .sgt = __sgt_iter(sgl, use_dma(iobase)), + .iobase = iobase, + }; - int err; + int err = 0; /* We rely on prevalidation of the io-mapping to skip track_pfn(). */ GEM_BUG_ON((vma->vm_flags & EXPECTED_FLAGS) != EXPECTED_FLAGS); pgpUqAfbRy1yc.pgp Description: OpenPGP digital signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/intel_pm.c between commit: e7c6e405e171 ("Fix misc new gcc warnings") from Linus' tree and commit: c6deb5e97ded ("drm/i915/pm: Make the wm parameter of print_wm_latency a pointer") from the drm-intel tree. I fixed it up (I just used the latter version) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell pgp9IR0wmOkY4.pgp Description: OpenPGP digital signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi, On 9/8/20 1:04 PM, Stephen Rothwell wrote: Hi Hans, On Tue, 8 Sep 2020 10:22:06 +0200 Hans de Goede wrote: On 9/8/20 6:00 AM, Stephen Rothwell wrote: Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/display/intel_panel.c between commit: f8bd54d21904 ("drm/i915: panel: Use atomic PWM API for devs with an external PWM controller") This should have been 899c537c25f9 ("drm/i915: Use 64-bit division macro") Yes that makes more sense. from Linus' tree and commit: 6b51e7d23aa8 ("drm/i915: panel: Honor the VBT PWM frequency for devs with an external PWM controller") That doesn't sound correct, those are both commits from the drm-intel tree. from the drm-intel tree. I fixed it up (I just used the latter) Just taking the drivers/gpu/drm/i915/display/intel_panel.c contents of: f8bd54d21904 ("drm/i915: panel: Use atomic PWM API for devs with an external PWM controller") Is the right thing to do, the problem is a difference in a line which gets removed in that commit. Which is what I actually did, I guess :-) Yes, looks good. Sorry about that. No problem and thank you for all the work you do on -next. Regards, Hans ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi Hans, On Tue, 8 Sep 2020 10:22:06 +0200 Hans de Goede wrote: > > On 9/8/20 6:00 AM, Stephen Rothwell wrote: > > > > Today's linux-next merge of the drm-intel tree got a conflict in: > > > >drivers/gpu/drm/i915/display/intel_panel.c > > > > between commit: > > > >f8bd54d21904 ("drm/i915: panel: Use atomic PWM API for devs with an > > external PWM controller") This should have been 899c537c25f9 ("drm/i915: Use 64-bit division macro") > > > > from Linus' tree and commit: > > > >6b51e7d23aa8 ("drm/i915: panel: Honor the VBT PWM frequency for devs > > with an external PWM controller") > > That doesn't sound correct, those are both commits from the drm-intel tree. > > > from the drm-intel tree. > > > > I fixed it up (I just used the latter) > > Just taking the drivers/gpu/drm/i915/display/intel_panel.c contents of: > > f8bd54d21904 ("drm/i915: panel: Use atomic PWM API for devs with an external > PWM controller") > > Is the right thing to do, the problem is a difference in a line which gets > removed in that commit. Which is what I actually did, I guess :-) Sorry about that. -- Cheers, Stephen Rothwell pgpLDwW1KT85B.pgp Description: OpenPGP digital signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi Stephen, On 9/8/20 6:00 AM, Stephen Rothwell wrote: Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/display/intel_panel.c between commit: f8bd54d21904 ("drm/i915: panel: Use atomic PWM API for devs with an external PWM controller") from Linus' tree and commit: 6b51e7d23aa8 ("drm/i915: panel: Honor the VBT PWM frequency for devs with an external PWM controller") That doesn't sound correct, those are both commits from the drm-intel tree. from the drm-intel tree. I fixed it up (I just used the latter) Just taking the drivers/gpu/drm/i915/display/intel_panel.c contents of: f8bd54d21904 ("drm/i915: panel: Use atomic PWM API for devs with an external PWM controller") Is the right thing to do, the problem is a difference in a line which gets removed in that commit. Regards, Hans ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/display/intel_panel.c between commit: f8bd54d21904 ("drm/i915: panel: Use atomic PWM API for devs with an external PWM controller") from Linus' tree and commit: 6b51e7d23aa8 ("drm/i915: panel: Honor the VBT PWM frequency for devs with an external PWM controller") from the drm-intel tree. I fixed it up (I just used the latter) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell pgpdb4W8fHQ0P.pgp Description: OpenPGP digital signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/i915_drv.h between commit: 7fb81e9d8073 ("drm/i915: Use drmm_add_final_kfree") from Linus' tree and commit: 8a25c4be583d ("drm/i915/params: switch to device specific parameters") from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/gpu/drm/i915/i915_drv.h index adb9bf34cf97,2697960f15a9.. --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@@ -826,9 -827,9 +827,12 @@@ struct i915_selftest_stash struct drm_i915_private { struct drm_device drm; + /* i915 device parameters */ + struct i915_params params; + + /* FIXME: Device release actions should all be moved to drmm_ */ + bool do_release; + const struct intel_device_info __info; /* Use INTEL_INFO() to access. */ struct intel_runtime_info __runtime; /* Use RUNTIME_INFO() to access. */ struct intel_driver_caps caps; pgpIScxL5NgBw.pgp Description: OpenPGP digital signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Quoting Stephen Rothwell (2018-03-23 02:50:18) > Hi all, > > On Thu, 22 Mar 2018 13:21:29 +1100 Stephen Rothwell> wrote: > > > > Today's linux-next merge of the drm-intel tree got a conflict in: > > > > drivers/gpu/drm/i915/gvt/scheduler.c > > > > between commit: > > > > fa3dd623e559 ("drm/i915/gvt: keep oa config in shadow ctx") > > > > from Linus' tree and commit: > > > > b20c0d5ce104 ("drm/i915/gvt: Update PDPs after a vGPU mm object is > > pinned.") > > > > from the drm-intel tree. > > > > I fixed it up (see below) and can carry the fix as necessary. This > > is now fixed as far as linux-next is concerned, but any non trivial > > conflicts should be mentioned to your upstream maintainer when your tree > > is submitted for merging. You may also want to consider cooperating > > with the maintainer of the conflicting tree to minimise any particularly > > complex conflicts. Hi Stephen, Thanks for solving this, the resolution is correct. You may want to replace Daniel, as the recipient here, with the current i915 maintainers to get a faster feedback next time :) > This is now a conflict between the drm tree and Linus' tree. > My bad for not highlighting the merge conflict in my PR to Dave. He probably did not notice, getting the resolution automatically from drm-rerere, I'd guess. I've noted it in the ever improving draft of things to remember with the PRs. I'm very much currently flying based on what the previous PR authors have remembered to tell me. But after 4.17, the cycle is complete and we all "have been there, done that", and you can expect less of a turbulence. (We'll probably have more magnificent documentation, too.) Regards, Joonas > -- > Cheers, > Stephen Rothwell > > > ___ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, On Thu, 22 Mar 2018 13:21:29 +1100 Stephen Rothwellwrote: > > Today's linux-next merge of the drm-intel tree got a conflict in: > > drivers/gpu/drm/i915/gvt/scheduler.c > > between commit: > > fa3dd623e559 ("drm/i915/gvt: keep oa config in shadow ctx") > > from Linus' tree and commit: > > b20c0d5ce104 ("drm/i915/gvt: Update PDPs after a vGPU mm object is pinned.") > > from the drm-intel tree. > > I fixed it up (see below) and can carry the fix as necessary. This > is now fixed as far as linux-next is concerned, but any non trivial > conflicts should be mentioned to your upstream maintainer when your tree > is submitted for merging. You may also want to consider cooperating > with the maintainer of the conflicting tree to minimise any particularly > complex conflicts. > > -- > Cheers, > Stephen Rothwell > > diff --cc drivers/gpu/drm/i915/gvt/scheduler.c > index 068126404151,a55b4975c154.. > --- a/drivers/gpu/drm/i915/gvt/scheduler.c > +++ b/drivers/gpu/drm/i915/gvt/scheduler.c > @@@ -52,54 -52,29 +52,77 @@@ static void set_context_pdp_root_pointe > pdp_pair[i].val = pdp[7 - i]; > } > > +/* > + * when populating shadow ctx from guest, we should not overrride oa related > + * registers, so that they will not be overlapped by guest oa configs. Thus > + * made it possible to capture oa data from host for both host and guests. > + */ > +static void sr_oa_regs(struct intel_vgpu_workload *workload, > +u32 *reg_state, bool save) > +{ > +struct drm_i915_private *dev_priv = workload->vgpu->gvt->dev_priv; > +u32 ctx_oactxctrl = dev_priv->perf.oa.ctx_oactxctrl_offset; > +u32 ctx_flexeu0 = dev_priv->perf.oa.ctx_flexeu0_offset; > +int i = 0; > +u32 flex_mmio[] = { > +i915_mmio_reg_offset(EU_PERF_CNTL0), > +i915_mmio_reg_offset(EU_PERF_CNTL1), > +i915_mmio_reg_offset(EU_PERF_CNTL2), > +i915_mmio_reg_offset(EU_PERF_CNTL3), > +i915_mmio_reg_offset(EU_PERF_CNTL4), > +i915_mmio_reg_offset(EU_PERF_CNTL5), > +i915_mmio_reg_offset(EU_PERF_CNTL6), > +}; > + > +if (!workload || !reg_state || workload->ring_id != RCS) > +return; > + > +if (save) { > +workload->oactxctrl = reg_state[ctx_oactxctrl + 1]; > + > +for (i = 0; i < ARRAY_SIZE(workload->flex_mmio); i++) { > +u32 state_offset = ctx_flexeu0 + i * 2; > + > +workload->flex_mmio[i] = reg_state[state_offset + 1]; > +} > +} else { > +reg_state[ctx_oactxctrl] = > +i915_mmio_reg_offset(GEN8_OACTXCONTROL); > +reg_state[ctx_oactxctrl + 1] = workload->oactxctrl; > + > +for (i = 0; i < ARRAY_SIZE(workload->flex_mmio); i++) { > +u32 state_offset = ctx_flexeu0 + i * 2; > +u32 mmio = flex_mmio[i]; > + > +reg_state[state_offset] = mmio; > +reg_state[state_offset + 1] = workload->flex_mmio[i]; > +} > +} > +} > + > + static void update_shadow_pdps(struct intel_vgpu_workload *workload) > + { > + struct intel_vgpu *vgpu = workload->vgpu; > + int ring_id = workload->ring_id; > + struct i915_gem_context *shadow_ctx = vgpu->submission.shadow_ctx; > + struct drm_i915_gem_object *ctx_obj = > + shadow_ctx->engine[ring_id].state->obj; > + struct execlist_ring_context *shadow_ring_context; > + struct page *page; > + > + if (WARN_ON(!workload->shadow_mm)) > + return; > + > + if (WARN_ON(!atomic_read(>shadow_mm->pincount))) > + return; > + > + page = i915_gem_object_get_page(ctx_obj, LRC_STATE_PN); > + shadow_ring_context = kmap(page); > + set_context_pdp_root_pointer(shadow_ring_context, > + (void *)workload->shadow_mm->ppgtt_mm.shadow_pdps); > + kunmap(page); > + } > + > static int populate_shadow_context(struct intel_vgpu_workload *workload) > { > struct intel_vgpu *vgpu = workload->vgpu; This is now a conflict between the drm tree and Linus' tree. -- Cheers, Stephen Rothwell pgpqYyNhNXEJO.pgp Description: OpenPGP digital signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/gvt/scheduler.c between commit: fa3dd623e559 ("drm/i915/gvt: keep oa config in shadow ctx") from Linus' tree and commit: b20c0d5ce104 ("drm/i915/gvt: Update PDPs after a vGPU mm object is pinned.") from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/gpu/drm/i915/gvt/scheduler.c index 068126404151,a55b4975c154.. --- a/drivers/gpu/drm/i915/gvt/scheduler.c +++ b/drivers/gpu/drm/i915/gvt/scheduler.c @@@ -52,54 -52,29 +52,77 @@@ static void set_context_pdp_root_pointe pdp_pair[i].val = pdp[7 - i]; } +/* + * when populating shadow ctx from guest, we should not overrride oa related + * registers, so that they will not be overlapped by guest oa configs. Thus + * made it possible to capture oa data from host for both host and guests. + */ +static void sr_oa_regs(struct intel_vgpu_workload *workload, + u32 *reg_state, bool save) +{ + struct drm_i915_private *dev_priv = workload->vgpu->gvt->dev_priv; + u32 ctx_oactxctrl = dev_priv->perf.oa.ctx_oactxctrl_offset; + u32 ctx_flexeu0 = dev_priv->perf.oa.ctx_flexeu0_offset; + int i = 0; + u32 flex_mmio[] = { + i915_mmio_reg_offset(EU_PERF_CNTL0), + i915_mmio_reg_offset(EU_PERF_CNTL1), + i915_mmio_reg_offset(EU_PERF_CNTL2), + i915_mmio_reg_offset(EU_PERF_CNTL3), + i915_mmio_reg_offset(EU_PERF_CNTL4), + i915_mmio_reg_offset(EU_PERF_CNTL5), + i915_mmio_reg_offset(EU_PERF_CNTL6), + }; + + if (!workload || !reg_state || workload->ring_id != RCS) + return; + + if (save) { + workload->oactxctrl = reg_state[ctx_oactxctrl + 1]; + + for (i = 0; i < ARRAY_SIZE(workload->flex_mmio); i++) { + u32 state_offset = ctx_flexeu0 + i * 2; + + workload->flex_mmio[i] = reg_state[state_offset + 1]; + } + } else { + reg_state[ctx_oactxctrl] = + i915_mmio_reg_offset(GEN8_OACTXCONTROL); + reg_state[ctx_oactxctrl + 1] = workload->oactxctrl; + + for (i = 0; i < ARRAY_SIZE(workload->flex_mmio); i++) { + u32 state_offset = ctx_flexeu0 + i * 2; + u32 mmio = flex_mmio[i]; + + reg_state[state_offset] = mmio; + reg_state[state_offset + 1] = workload->flex_mmio[i]; + } + } +} + + static void update_shadow_pdps(struct intel_vgpu_workload *workload) + { + struct intel_vgpu *vgpu = workload->vgpu; + int ring_id = workload->ring_id; + struct i915_gem_context *shadow_ctx = vgpu->submission.shadow_ctx; + struct drm_i915_gem_object *ctx_obj = + shadow_ctx->engine[ring_id].state->obj; + struct execlist_ring_context *shadow_ring_context; + struct page *page; + + if (WARN_ON(!workload->shadow_mm)) + return; + + if (WARN_ON(!atomic_read(>shadow_mm->pincount))) + return; + + page = i915_gem_object_get_page(ctx_obj, LRC_STATE_PN); + shadow_ring_context = kmap(page); + set_context_pdp_root_pointer(shadow_ring_context, + (void *)workload->shadow_mm->ppgtt_mm.shadow_pdps); + kunmap(page); + } + static int populate_shadow_context(struct intel_vgpu_workload *workload) { struct intel_vgpu *vgpu = workload->vgpu; pgpZi8hH9Y9zQ.pgp Description: OpenPGP digital signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/media/v4l2-core/videobuf2-dma-contig.c between commit: 5b6f9abe5a49 ("media: vb2: add bidirectional flag in vb2_queue") from Linus' tree and commit: c4860ad60564 ("lib/scatterlist: Fix offset type in sg_alloc_table_from_pages") from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/media/v4l2-core/videobuf2-dma-contig.c index 9f389f36566d,2405077fdc71.. --- a/drivers/media/v4l2-core/videobuf2-dma-contig.c +++ b/drivers/media/v4l2-core/videobuf2-dma-contig.c @@@ -507,9 -507,8 +507,9 @@@ static void *vb2_dc_get_userptr(struct buf->dev = dev; buf->dma_dir = dma_dir; - offset = vaddr & ~PAGE_MASK; + offset = lower_32_bits(offset_in_page(vaddr)); - vec = vb2_create_framevec(vaddr, size, dma_dir == DMA_FROM_DEVICE); + vec = vb2_create_framevec(vaddr, size, dma_dir == DMA_FROM_DEVICE || + dma_dir == DMA_BIDIRECTIONAL); if (IS_ERR(vec)) { ret = PTR_ERR(vec); goto fail_buf; ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/intel_pm.c between commit: f403372658fc ("drm/i915/skl: Add support for the SAGV, fix underrun hangs") (which is also in the drm-intel tree) from Linus' tree and commit: 6f3fff602e81 ("drm/i915: Add ddb size field to device info structure") from the drm-intel tree. I fixed it up (I just used the drm-intel version) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/intel_pm.c between commit: 9909113cc48a ("drm/i915/gen9: Only copy WM results for changed pipes to skl_hw") from Linus' tree and commits: 2722efb90b34 ("drm/i915/gen9: Only copy WM results for changed pipes to skl_hw") 27082493e9c6 ("drm/i915/skl: Update DDB values atomically with wms/plane attrs") from the drm-intel tree. I fixed it up (I just used the drm-intel tree version) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/intel_display.c between commit: 9bd18728a3f2 ("drm/i915: Ignore stale wm register values on resume on ilk-bdw (v2)") from Linus' tree and commit: e3d5457c7caa ("drm/i915: Ignore stale wm register values on resume on ilk-bdw (v2)") from the drm-intel tree. I fixed it up (I used teh drm-intel tree version) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/i915_gem.c between commit: 5fbd0418eef2 ("drm/i915: Re-enable GGTT earlier during resume on pre-gen6 platforms") (which also exists in the drm-intel tree as commit ac840ae53573) from Linus' tree and commit: d200cda6bd9f ("drm/i915: Remove early l3-remap") from the drm-intel tree. I fixed it up (I used the drm-intel tree version) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/intel_pm.c between commit: 344df9809f45 ("drm/i915/skl: Disable coarse power gating up until F0") from Linus' tree and commit: 06e668ac91c9 ("drm/i915: Apply broader WaRsDisableCoarsePowerGating for guc also") from the drm-intel tree. I fixed it up (I just used the latter version) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/intel_runtime_pm.c between commitis: bc5f2ab11ca6 ("drm/i915/skl: Don't call intel_prepare_ddi when encoder list isn't yet initialized.") 1b0e3a049efe ("drm/i915/skl: disable display side power well support for now") from Linus' tree and commit: f0ab43e6c338 ("drm/i915: Introduce a gmbus power domain") c2b16152e0b3 ("drm/i915/skl: remove redundant DDI/IRQ reinitialization during PW1 enabling") from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/intel_runtime_pm.c index d89c1d0aa1b7,f8167753f91b.. --- a/drivers/gpu/drm/i915/intel_runtime_pm.c +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c @@@ -1808,24 -1831,9 +1831,24 @@@ static struct i915_power_well bxt_power .domains = BXT_DISPLAY_POWERWELL_2_POWER_DOMAINS, .ops = _power_well_ops, .data = SKL_DISP_PW_2, - } + }, }; +static int +sanitize_disable_power_well_option(const struct drm_i915_private *dev_priv, + int disable_power_well) +{ + if (disable_power_well >= 0) + return !!disable_power_well; + + if (IS_SKYLAKE(dev_priv)) { + DRM_DEBUG_KMS("Disabling display power well support\n"); + return 0; + } + + return 1; +} + #define set_power_wells(power_domains, __power_wells) ({ \ (power_domains)->power_wells = (__power_wells); \ (power_domains)->power_well_count = ARRAY_SIZE(__power_wells); \ @@@ -1842,9 -1850,8 +1865,11 @@@ int intel_power_domains_init(struct drm { struct i915_power_domains *power_domains = _priv->power_domains; + BUILD_BUG_ON(POWER_DOMAIN_NUM > 31); + + i915.disable_power_well = sanitize_disable_power_well_option(dev_priv, + i915.disable_power_well); + mutex_init(_domains->lock); /* ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/intel_display.c between commit: 721a09f7393d ("drm/i915: Add primary plane to mask if it's visible") from Linus' tree and commit: bd0335b29903 ("drm/i915: Add primary plane to mask if it's visible") from the drm-intel tree. I fixed it up (I used the drm-intel tree version) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/intel_audio.c between commit: 51e1d83cab99 ("drm/i915: Call audio pin/ELD notify function") from Linus' tree and commit: b8abe859c9d6 ("drm/i915: Always call the adjusted mode 'adjusted_mode'") from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/intel_audio.c index 2a5c76faf9f8,b12df81e4dcc.. --- a/drivers/gpu/drm/i915/intel_audio.c +++ b/drivers/gpu/drm/i915/intel_audio.c @@@ -400,11 -401,8 +401,11 @@@ void intel_audio_codec_enable(struct in struct drm_connector *connector; struct drm_device *dev = encoder->dev; struct drm_i915_private *dev_priv = dev->dev_private; + struct i915_audio_component *acomp = dev_priv->audio_component; + struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder); + enum port port = intel_dig_port->port; - connector = drm_select_eld(encoder, mode); + connector = drm_select_eld(encoder, adjusted_mode); if (!connector) return; @@@ -419,13 -417,11 +420,14 @@@ if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT)) connector->eld[5] |= (1 << 2); - connector->eld[6] = drm_av_sync_delay(connector, mode) / 2; + connector->eld[6] = drm_av_sync_delay(connector, adjusted_mode) / 2; if (dev_priv->display.audio_codec_enable) - dev_priv->display.audio_codec_enable(connector, intel_encoder, mode); + dev_priv->display.audio_codec_enable(connector, intel_encoder, +adjusted_mode); + + if (acomp && acomp->audio_ops && acomp->audio_ops->pin_eld_notify) + acomp->audio_ops->pin_eld_notify(acomp->audio_ops->audio_ptr, (int) port); } /** ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/i915_irq.c between commit: 4e3d1e26c2b2 ("drm/i915: Pass hpd_status_i915[] to intel_get_hpd_pins() in pre-g4x") from Linus' tree and commit: 58f2cf241fb9 ("drm/i915: Don't call intel_get_hpd_pins() when there's no hotplug interrupt") from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/i915_irq.c index 5a244ab9395b,ca6d806a195a.. --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@@ -1557,10 -1652,13 +1652,13 @@@ static void i9xx_hpd_irq_handler(struc } else { u32 hotplug_trigger = hotplug_status & HOTPLUG_INT_STATUS_I915; - intel_get_hpd_pins(_mask, _mask, hotplug_trigger, - hotplug_trigger, hpd_status_i915, - i9xx_port_hotplug_long_detect); - intel_hpd_irq_handler(dev, pin_mask, long_mask); + if (hotplug_trigger) { + intel_get_hpd_pins(_mask, _mask, hotplug_trigger, - hotplug_trigger, hpd_status_g4x, ++ hotplug_trigger, hpd_status_i915, + i9xx_port_hotplug_long_detect); + + intel_hpd_irq_handler(dev, pin_mask, long_mask); + } } } ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in: drivers/gpu/drm/i915/i915_gem_gtt.c between commit: 00245266b4be (drm/i915/ppgtt: Break loop in gen8_ppgtt_clear_range failure path) from Linus' tree and commit: 567047be2a7e (drm/i915/gtt: Use macros to access dma mapped pages) from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/i915_gem_gtt.c index dcc6a88c560e,ed65f24867b4.. --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@@ -513,10 -583,9 +583,9 @@@ static void gen8_ppgtt_clear_range(stru while (num_entries) { struct i915_page_directory *pd; struct i915_page_table *pt; - struct page *page_table; if (WARN_ON(!ppgtt-pdp.page_directory[pdpe])) - continue; + break; pd = ppgtt-pdp.page_directory[pdpe]; @@@ -525,11 -594,9 +594,9 @@@ pt = pd-page_table[pde]; - if (WARN_ON(!pt-page)) + if (WARN_ON(!px_page(pt))) - continue; + break; - page_table = pt-page; - last_pte = pte + num_entries; if (last_pte GEN8_PTES) last_pte = GEN8_PTES; pgpYij4UQutsD.pgp Description: OpenPGP digital signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in drivers/gpu/drm/i915/i915_drv.c between commit 5df0582bf036 (drm/i915/vlv: remove wait for previous GFX clk disable request) from Linus' tree and commit 85250ddff7a6 (drm/i915/chv: Remove Wait for a previous gfx force-off) from the drm-intel tree (which also appeared as commit c9c52e24194a in Linus' tree before v4.0). I fixed it up (I used the version from Linus' tree) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au pgp9mEldANZFM.pgp Description: OpenPGP digital signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with the tree
On Wed, Sep 03, 2014 at 02:31:46PM +0100, Mark Brown wrote: @@ -3923,7 +3942,9 @@ static void valleyview_irq_uninstall(struct drm_device *dev) I915_WRITE(VLV_MASTER_IER, 0); - for_each_pipe(pipe) + intel_hpd_irq_uninstall(dev_priv); + + for_each_pipe(dev_priv, pipe) I915_WRITE(PIPESTAT(pipe), 0x); I915_WRITE(HWSTAM, 0x); ...or actually this since the above doesn't build, I was too hasty: @@ -3923,7 +3942,9 @@ static void valleyview_irq_uninstall(struct drm_device *dev) I915_WRITE(VLV_MASTER_IER, 0); - for_each_pipe(pipe) + + for_each_pipe(dev_priv, pipe) I915_WRITE(PIPESTAT(pipe), 0x); I915_WRITE(HWSTAM, 0x); signature.asc Description: Digital signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with the tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict which I'm not really sure of and commit b47d1189da119e (drm/i915: Use dev_priv as first argument of for_each_pipe()) from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). @@ -3923,7 +3942,9 @@ static void valleyview_irq_uninstall(struct drm_device *dev) I915_WRITE(VLV_MASTER_IER, 0); - for_each_pipe(pipe) + intel_hpd_irq_uninstall(dev_priv); + + for_each_pipe(dev_priv, pipe) I915_WRITE(PIPESTAT(pipe), 0x); I915_WRITE(HWSTAM, 0x); pgpEv85qYDOuN.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with the tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in drivers/gpu/drm/i915/i915_gem_context.c between commit 691e6415c891 (drm/i915: Always use kref tracking for all contexts) from the drm-intel-fixes tree and commit ad2ac08bf34b (drm/i915: Make contexts non-snooped on non-LLC platforms) from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/i915_gem_context.c index d72db15afa02,30b355afb362.. --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c @@@ -231,32 -232,40 +231,40 @@@ __create_hw_context(struct drm_device * return ERR_PTR(-ENOMEM); kref_init(ctx-ref); - ctx-obj = i915_gem_alloc_object(dev, dev_priv-hw_context_size); - INIT_LIST_HEAD(ctx-link); - if (ctx-obj == NULL) { - kfree(ctx); - DRM_DEBUG_DRIVER(Context object allocated failed\n); - return ERR_PTR(-ENOMEM); - } + list_add_tail(ctx-link, dev_priv-context_list); - /* - * Try to make the context utilize L3 as well as LLC. - * - * On VLV we don't have L3 controls in the PTEs so we - * shouldn't touch the cache level, especially as that - * would make the object snooped which might have a - * negative performance impact. - */ - if (INTEL_INFO(dev)-gen = 7 !IS_VALLEYVIEW(dev)) { - ret = i915_gem_object_set_cache_level(ctx-obj, -I915_CACHE_L3_LLC); - /* Failure shouldn't ever happen this early */ - if (WARN_ON(ret)) + if (dev_priv-hw_context_size) { + ctx-obj = i915_gem_alloc_object(dev, dev_priv-hw_context_size); + if (ctx-obj == NULL) { + ret = -ENOMEM; goto err_out; - } + } - if (INTEL_INFO(dev)-gen = 7) { - list_add_tail(ctx-link, dev_priv-context_list); ++ /* ++ * Try to make the context utilize L3 as well as LLC. ++ * ++ * On VLV we don't have L3 controls in the PTEs so we ++ * shouldn't touch the cache level, especially as that ++ * would make the object snooped which might have a ++ * negative performance impact. ++ */ ++ if (INTEL_INFO(dev)-gen = 7 !IS_VALLEYVIEW(dev)) { + ret = i915_gem_object_set_cache_level(ctx-obj, + I915_CACHE_L3_LLC); + /* Failure shouldn't ever happen this early */ + if (WARN_ON(ret)) + goto err_out; + } + } /* Default context will never have a file_priv */ - if (file_priv == NULL) - return ctx; - - ret = idr_alloc(file_priv-context_idr, ctx, DEFAULT_CONTEXT_ID, 0, - GFP_KERNEL); - if (ret 0) - goto err_out; + if (file_priv != NULL) { + ret = idr_alloc(file_priv-context_idr, ctx, + DEFAULT_CONTEXT_ID, 0, GFP_KERNEL); + if (ret 0) + goto err_out; + } else + ret = DEFAULT_CONTEXT_ID; ctx-file_priv = file_priv; ctx-id = ret; pgpE5Vz1kWbHg.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with the tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in between commit 27d50c82714f6 (ACPI / i915: Fix incorrect acpi/acpi.h inclusions via linux/acpi_io.h) from tree and commit 2fae6a860ca9 (drm/i915: Go OCD on the Makefile) from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). diff --cc drivers/gpu/drm/i915/Makefile index f33902ff2c22,077e81b1065d..b1445b73465b --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile @@@ -12,49 -23,50 +23,49 @@@ i915-y += i915_cmd_parser.o i915_gem_evict.o \ i915_gem_execbuffer.o \ i915_gem_gtt.o \ + i915_gem.o \ i915_gem_stolen.o \ i915_gem_tiling.o \ - i915_params.o \ - i915_sysfs.o \ + i915_gpu_error.o \ + i915_irq.o \ i915_trace_points.o \ - i915_ums.o \ + intel_ringbuffer.o \ + intel_uncore.o + + # modesetting core code + i915-y += intel_bios.o \ intel_display.o \ - intel_crt.o \ - intel_lvds.o \ - intel_dsi.o \ - intel_dsi_cmd.o \ - intel_dsi_pll.o \ - intel_bios.o \ - intel_ddi.o \ - intel_dp.o \ - intel_hdmi.o \ - intel_sdvo.o \ intel_modes.o \ - intel_panel.o \ - intel_pm.o \ - intel_i2c.o \ - intel_tv.o \ - intel_dvo.o \ - intel_ringbuffer.o \ -intel_opregion.o \ intel_overlay.o \ - intel_sprite.o \ intel_sideband.o \ - intel_uncore.o \ + intel_sprite.o -i915-$(CONFIG_ACPI) += intel_acpi.o ++i915-$(CONFIG_ACPI) += intel_acpi.o intel_opregion.o + i915-$(CONFIG_DRM_I915_FBDEV) += intel_fbdev.o + + # modesetting output/encoder code + i915-y += dvo_ch7017.o \ dvo_ch7xxx.o \ - dvo_ch7017.o \ dvo_ivch.o \ - dvo_tfp410.o \ - dvo_sil164.o \ dvo_ns2501.o \ - i915_gem_dmabuf.o - - i915-$(CONFIG_COMPAT) += i915_ioc32.o - - i915-$(CONFIG_ACPI) += intel_acpi.o intel_opregion.o - - i915-$(CONFIG_DRM_I915_FBDEV) += intel_fbdev.o + dvo_sil164.o \ + dvo_tfp410.o \ + intel_crt.o \ + intel_ddi.o \ + intel_dp.o \ + intel_dsi_cmd.o \ + intel_dsi.o \ + intel_dsi_pll.o \ + intel_dvo.o \ + intel_hdmi.o \ + intel_i2c.o \ + intel_lvds.o \ + intel_panel.o \ + intel_sdvo.o \ + intel_tv.o - i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o + # legacy horrors + i915-y += i915_dma.o \ + i915_ums.o obj-$(CONFIG_DRM_I915) += i915.o pgpVc0cLayCxo.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with the tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in drivers/gpu/drm/i915/intel_dp.c between commit 4e6b788c3f23 (drm/i915: Disable dp aux irq on g4x) from the drm-intel-fixes tree and commit 5ed12a19078b (drm/i915: Factor out a function returning the AUX_CTL value to start a send) from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/intel_dp.c index 2f517b85b3f4,0ef269053751.. --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@@ -403,9 -458,8 +458,8 @@@ intel_dp_aux_ch(struct intel_dp *intel_ uint32_t aux_clock_divider; int i, ret, recv_bytes; uint32_t status; - int try, precharge, clock = 0; + int try, clock = 0; - bool has_aux_irq = true; + bool has_aux_irq = HAS_AUX_IRQ(dev); - uint32_t timeout; /* dp aux is extremely sensitive to irq latency, hence request the * lowest possible wakeup latency and so prevent the cpu from going into pgppRtLlDL9PC.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in drivers/gpu/drm/i915/intel_pm.c between commit fec8cba306f9 (drm/i915: use crtc_htotal in watermark calculations to match fastboot v2) from Linus' tree and commit 96f90c5421aa (drm/i915: Move ILK/SNB/IVB over to the HSW WM code) from the drm-intel tree. I fixed it up (I just removed the code removed by the drm-intel tree patch) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwell s...@canb.auug.org.au pgpS_sf3mGy0a.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in drivers/gpu/drm/i915/intel_ddi.c between commit 76bb80ed3027 (drm/i915/ddi: set sink to power down mode on dp disable) from Linus' tree and commit dff392dbd258 (drm/i915: don't touch the VDD when disabling the panel) from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/intel_ddi.c index 526c8ded16b0,cec06a5453cc.. --- a/drivers/gpu/drm/i915/intel_ddi.c +++ b/drivers/gpu/drm/i915/intel_ddi.c @@@ -1158,10 -1235,9 +1235,10 @@@ static void intel_ddi_post_disable(stru if (wait) intel_wait_ddi_buf_idle(dev_priv, port); - if (type == INTEL_OUTPUT_EDP) { + if (type == INTEL_OUTPUT_DISPLAYPORT || type == INTEL_OUTPUT_EDP) { struct intel_dp *intel_dp = enc_to_intel_dp(encoder); - ironlake_edp_panel_vdd_on(intel_dp); + + intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_OFF); ironlake_edp_panel_off(intel_dp); } pgpd_d64gkDUw.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in drivers/gpu/drm/i915/i915_gem.c between commit 7dc19d5affd7 (drivers: convert shrinkers to new count/scan API) from the tree and commit e656a6cba0fe (drm/i915: inline vma_create into lookup_or_create_vma) from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/i915_gem.c index df9253d,d00d24f..000 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@@ -4886,61 -4912,3 +4940,37 @@@ unsigned long i915_gem_obj_size(struct return 0; } + +static unsigned long +i915_gem_inactive_scan(struct shrinker *shrinker, struct shrink_control *sc) +{ + struct drm_i915_private *dev_priv = + container_of(shrinker, + struct drm_i915_private, + mm.inactive_shrinker); + struct drm_device *dev = dev_priv-dev; + int nr_to_scan = sc-nr_to_scan; + unsigned long freed; + bool unlock = true; + + if (!mutex_trylock(dev-struct_mutex)) { + if (!mutex_is_locked_by(dev-struct_mutex, current)) + return 0; + + if (dev_priv-mm.shrinker_no_lock_stealing) + return 0; + + unlock = false; + } + + freed = i915_gem_purge(dev_priv, nr_to_scan); + if (freed nr_to_scan) + freed += __i915_gem_shrink(dev_priv, nr_to_scan, + false); + if (freed nr_to_scan) + freed += i915_gem_shrink_all(dev_priv); + + if (unlock) + mutex_unlock(dev-struct_mutex); + return freed; +} - - struct i915_vma *i915_gem_obj_to_vma(struct drm_i915_gem_object *obj, -struct i915_address_space *vm) - { - struct i915_vma *vma; - list_for_each_entry(vma, obj-vma_list, vma_link) - if (vma-vm == vm) - return vma; - - return NULL; - } - - struct i915_vma * - i915_gem_obj_lookup_or_create_vma(struct drm_i915_gem_object *obj, - struct i915_address_space *vm) - { - struct i915_vma *vma; - - vma = i915_gem_obj_to_vma(obj, vm); - if (!vma) - vma = i915_gem_vma_create(obj, vm); - - return vma; - } pgpBQDmKDKrxr.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in drivers/gpu/drm/i915/intel_drv.h between commit 6e1b4fdad515 (drm/i915: Delay disabling of VGA memory until vgacon-fbcon handoff is done) from Linus' tree and commit eb14cb747bc5 (drm/i915: Add state readout and checking for has_dp_encoder and dp_m_n) from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/intel_drv.h index 28cae80,b85354f..000 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@@ -793,6 -814,13 +815,14 @@@ extern void hsw_pc8_disable_interrupts( extern void hsw_pc8_restore_interrupts(struct drm_device *dev); extern void intel_aux_display_runtime_get(struct drm_i915_private *dev_priv); extern void intel_aux_display_runtime_put(struct drm_i915_private *dev_priv); +extern void i915_disable_vga_mem(struct drm_device *dev); + extern void intel_dp_get_m_n(struct intel_crtc *crtc, +struct intel_crtc_config *pipe_config); + extern int intel_dotclock_calculate(int link_freq, + const struct intel_link_m_n *m_n); + extern void ironlake_check_encoder_dotclock(const struct intel_crtc_config *pipe_config, + int dotclock); + + extern bool intel_crtc_active(struct drm_crtc *crtc); #endif /* __INTEL_DRV_H__ */ pgptaTfkGoWdd.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in drivers/gpu/drm/i915/intel_display.c between commits 2d05eae1c92f (drm/i915: Propagate errors back from fb set-base) and d62cf62ad07d (drm/i915: Quirk the pipe A quirk in the modeset state checker) from Linus' tree and commits 6c49f24180c3 (drm/i915: hw state readout support for pixel_multiplier) and 9222be993921 (drm/i915: don't scream into dmesg when a modeset fails) from the drm-intel tree. I fixed it up (I think - see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/intel_display.c index 6eb99e1,8f746d9..000 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@@ -8177,11 -8264,14 +8264,19 @@@ check_crtc_state(struct drm_device *dev active = dev_priv-display.get_pipe_config(crtc, pipe_config); + + /* hw state is inconsistent with the pipe A quirk */ + if (crtc-pipe == PIPE_A dev_priv-quirks QUIRK_PIPEA_FORCE) + active = crtc-active; + + list_for_each_entry(encoder, dev-mode_config.encoder_list, + base.head) { + if (encoder-base.crtc != crtc-base) + continue; + if (encoder-get_config) + encoder-get_config(encoder, pipe_config); + } + WARN(crtc-active != active, crtc active state doesn't match with hw state (expected %i, found %i)\n, crtc-active, active); pgps6VUT0cNsM.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in drivers/gpu/drm/i915/intel_display.c between commit d62cf62ad07d (drm/i915: Quirk the pipe A quirk in the modeset state checker) from Linus' tree and commit 6c49f24180c3 (drm/i915: hw state readout support for pixel_multiplier) from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/intel_display.c index 6eb99e1,218bc93..000 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@@ -8177,11 -8264,14 +8264,19 @@@ check_crtc_state(struct drm_device *dev active = dev_priv-display.get_pipe_config(crtc, pipe_config); + + /* hw state is inconsistent with the pipe A quirk */ + if (crtc-pipe == PIPE_A dev_priv-quirks QUIRK_PIPEA_FORCE) + active = crtc-active; + + list_for_each_entry(encoder, dev-mode_config.encoder_list, + base.head) { + if (encoder-base.crtc != crtc-base) + continue; + if (encoder-get_config) + encoder-get_config(encoder, pipe_config); + } + WARN(crtc-active != active, crtc active state doesn't match with hw state (expected %i, found %i)\n, crtc-active, active); pgp_UYgkA3_PB.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in drivers/gpu/drm/i915/intel_sdvo.c between commit 7ba220cec0bb (drm/i915: Enable hotplug interrupts after querying hw capabilities) from Linus' tree and commit e596a02ccfc6 (drm/i915: Remove dead code from SDVO initialisation) from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/intel_sdvo.c index 7d31165,b8e1623..000 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c @@@ -2850,18 -2889,12 +2891,6 @@@ bool intel_sdvo_init(struct drm_device } } - hotplug_mask = 0; - if (IS_G4X(dev)) { - hotplug_mask = intel_sdvo-is_sdvob ? - SDVOB_HOTPLUG_INT_STATUS_G4X : SDVOC_HOTPLUG_INT_STATUS_G4X; - } else if (IS_GEN4(dev)) { - hotplug_mask = intel_sdvo-is_sdvob ? - SDVOB_HOTPLUG_INT_STATUS_I965 : SDVOC_HOTPLUG_INT_STATUS_I965; - } else { - hotplug_mask = intel_sdvo-is_sdvob ? - SDVOB_HOTPLUG_INT_STATUS_I915 : SDVOC_HOTPLUG_INT_STATUS_I915; - } - - /* Only enable the hotplug irq if we need it, to work around noisy - * hotplug lines. - */ - if (intel_sdvo-hotplug_active) - intel_encoder-hpd_pin = HPD_SDVO_B ? HPD_SDVO_B : HPD_SDVO_C; - intel_encoder-compute_config = intel_sdvo_compute_config; intel_encoder-disable = intel_disable_sdvo; intel_encoder-mode_set = intel_sdvo_mode_set; pgpPofbL6ZXbN.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in drivers/gpu/drm/i915/intel_dp.c between commit 657445fe8660 (Revert drm/i915: revert eDP bpp clamping code changes) from Linus' tree and commits c6bb353815c3 (drm/i915: move dp clock computations to encoder-compute_config), af13188a1a66 (drm/i915: force bpp for eDP panels) and 52541e30339d (drm/i915: allow high-bpc modes on DP) from the drm-intel tree. I fixed it up (see below and I used the latter two commits instead of the one from Linus' tree) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/intel_dp.c index 3d704b7,2bb4009..000 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@@ -755,6 -782,10 +783,8 @@@ found target_clock, adjusted_mode-clock, pipe_config-dp_m_n); - pipe_config-pipe_bpp = bpp; - + intel_dp_set_clock(encoder, pipe_config, intel_dp-link_bw); + return true; } @@@ -1379,8 -1400,15 +1399,16 @@@ static void intel_enable_dp(struct inte ironlake_edp_panel_on(intel_dp); ironlake_edp_panel_vdd_off(intel_dp, true); intel_dp_complete_link_train(intel_dp); + intel_dp_stop_link_train(intel_dp); ironlake_edp_backlight_on(intel_dp); + + if (IS_VALLEYVIEW(dev)) { + struct intel_digital_port *dport = + enc_to_dig_port(encoder-base); + int channel = vlv_dport_to_channel(dport); + + vlv_wait_port_ready(dev_priv, channel); + } } static void intel_pre_enable_dp(struct intel_encoder *encoder) pgpbUXqiNxBQH.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi Daniel, On Tue, 7 May 2013 10:43:17 +0200 Daniel Vetter daniel.vet...@ffwll.ch wrote: On Tue, May 7, 2013 at 3:27 AM, Stephen Rothwell s...@canb.auug.org.au wrote: Daniel, I assume all this stuff being added to the drm-intel tree is going upstream very soon? Oops, no that is stuff for 3.11. Lazy me hoped I could sneak stuff through (since we just keep on merging features to drm-intel-next-queued to avoid stalls), but that's obviously not what you want for linux-next. My apologies for that mess. I've now created a for-linux-next branch which will not contain patches heading for 3.x+1 while 3.x-rc1 hasn't been released yet. Can you please switch over to that branch for inclusion into linux-next? Done. Thanks. -- Cheers, Stephen Rothwells...@canb.auug.org.au pgpKJ_mRSrGX0.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in drivers/gpu/drm/i915/i915_reg.h between commit a65851af5938 (drm/i915: Make data/link N value power of two) from Linus' tree and commit e3b95f1eb5b9 (drm/i915: Apply OCD to data/link m/n register #defines) from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). Daniel, I assume all this stuff being added to the drm-intel tree is going upstream very soon? -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/i915_reg.h index 83f9c26,a470103..000 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@@ -2648,18 -2768,19 +2768,19 @@@ * which is after the LUTs, so we want the bytes for our color format. * For our current usage, this is always 3, one byte for R, G and B. */ - #define _PIPEA_GMCH_DATA_M0x70050 - #define _PIPEB_GMCH_DATA_M0x71050 + #define _PIPEA_DATA_M_G4X 0x70050 + #define _PIPEB_DATA_M_G4X 0x71050 /* Transfer unit size for display port - 1, default is 0x3f (for TU size 64) */ -#define PIPE_GMCH_DATA_M_TU_SIZE_MASK (0x3f 25) -#define PIPE_GMCH_DATA_M_TU_SIZE_SHIFT 25 +#define TU_SIZE(x) (((x)-1) 25) /* default size 64 */ +#define TU_SIZE_MASK (0x3f 25) + #define TU_SIZE_SHIFT25 -#define PIPE_GMCH_DATA_M_MASK (0xff) +#define DATA_LINK_M_N_MASK (0xff) +#define DATA_LINK_N_MAX (0x80) - #define _PIPEA_GMCH_DATA_N0x70054 - #define _PIPEB_GMCH_DATA_N0x71054 + #define _PIPEA_DATA_N_G4X 0x70054 + #define _PIPEB_DATA_N_G4X 0x71054 -#define PIPE_GMCH_DATA_N_MASK (0xff) /* * Computing Link M and N values for the Display Port link @@@ -2672,16 -2793,18 +2793,16 @@@ * Attributes and VB-ID. */ - #define _PIPEA_DP_LINK_M 0x70060 - #define _PIPEB_DP_LINK_M 0x71060 + #define _PIPEA_LINK_M_G4X 0x70060 + #define _PIPEB_LINK_M_G4X 0x71060 -#define PIPEA_DP_LINK_M_MASK(0xff) - #define _PIPEA_DP_LINK_N 0x70064 - #define _PIPEB_DP_LINK_N 0x71064 + #define _PIPEA_LINK_N_G4X 0x70064 + #define _PIPEB_LINK_N_G4X 0x71064 -#define PIPEA_DP_LINK_N_MASK(0xff) - #define PIPE_GMCH_DATA_M(pipe) _PIPE(pipe, _PIPEA_GMCH_DATA_M, _PIPEB_GMCH_DATA_M) - #define PIPE_GMCH_DATA_N(pipe) _PIPE(pipe, _PIPEA_GMCH_DATA_N, _PIPEB_GMCH_DATA_N) - #define PIPE_DP_LINK_M(pipe) _PIPE(pipe, _PIPEA_DP_LINK_M, _PIPEB_DP_LINK_M) - #define PIPE_DP_LINK_N(pipe) _PIPE(pipe, _PIPEA_DP_LINK_N, _PIPEB_DP_LINK_N) + #define PIPE_DATA_M_G4X(pipe) _PIPE(pipe, _PIPEA_DATA_M_G4X, _PIPEB_DATA_M_G4X) + #define PIPE_DATA_N_G4X(pipe) _PIPE(pipe, _PIPEA_DATA_N_G4X, _PIPEB_DATA_N_G4X) + #define PIPE_LINK_M_G4X(pipe) _PIPE(pipe, _PIPEA_LINK_M_G4X, _PIPEB_LINK_M_G4X) + #define PIPE_LINK_N_G4X(pipe) _PIPE(pipe, _PIPEA_LINK_N_G4X, _PIPEB_LINK_N_G4X) /* Display cursor control */ pgpwIJS5sxxNH.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
On Wed, Apr 03, 2013 at 01:43:49PM +1100, Stephen Rothwell wrote: Hi all, Today's linux-next merge of the drm-intel tree got a conflict in drivers/gpu/drm/i915/intel_panel.c between commit b1289371fcd5 (Revert drm/i915: write backlight harder) from Linus' tree and commit 31ad8ec6a614 (drm/i915: group backlight related stuff into a struct) from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). Looks good, I carry the same merge resolution locally. -Daniel -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/intel_panel.c index bee8cb6,0e7e873..000 --- a/drivers/gpu/drm/i915/intel_panel.c +++ b/drivers/gpu/drm/i915/intel_panel.c @@@ -318,9 -321,16 +321,13 @@@ void intel_panel_enable_backlight(struc { struct drm_i915_private *dev_priv = dev-dev_private; - if (dev_priv-backlight_level == 0) - dev_priv-backlight_level = intel_panel_get_max_backlight(dev); + if (dev_priv-backlight.level == 0) { + dev_priv-backlight.level = intel_panel_get_max_backlight(dev); + if (dev_priv-backlight.device) + dev_priv-backlight.device-props.brightness = + dev_priv-backlight.level; + } -dev_priv-backlight.enabled = true; -intel_panel_actually_set_backlight(dev, dev_priv-backlight.level); - if (INTEL_INFO(dev)-gen = 4) { uint32_t reg, tmp; @@@ -356,12 -366,12 +363,12 @@@ } set_level: -/* Check the current backlight level and try to set again if it's zero. - * On some machines, BLC_PWM_CPU_CTL is cleared to zero automatically - * when BLC_PWM_CPU_CTL2 and BLC_PWM_PCH_CTL1 are written. +/* Call below after setting BLC_PWM_CPU_CTL2 and BLC_PWM_PCH_CTL1. + * BLC_PWM_CPU_CTL may be cleared to zero automatically when these + * registers are set. */ - dev_priv-backlight_enabled = true; - intel_panel_actually_set_backlight(dev, dev_priv-backlight_level); -if (!intel_panel_get_backlight(dev)) -intel_panel_actually_set_backlight(dev, dev_priv-backlight.level); ++dev_priv-backlight.enabled = true; ++intel_panel_actually_set_backlight(dev, dev_priv-backlight.level); } static void intel_panel_init_backlight(struct drm_device *dev) -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in drivers/gpu/drm/i915/intel_panel.c between commit b1289371fcd5 (Revert drm/i915: write backlight harder) from Linus' tree and commit 31ad8ec6a614 (drm/i915: group backlight related stuff into a struct) from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/intel_panel.c index bee8cb6,0e7e873..000 --- a/drivers/gpu/drm/i915/intel_panel.c +++ b/drivers/gpu/drm/i915/intel_panel.c @@@ -318,9 -321,16 +321,13 @@@ void intel_panel_enable_backlight(struc { struct drm_i915_private *dev_priv = dev-dev_private; - if (dev_priv-backlight_level == 0) - dev_priv-backlight_level = intel_panel_get_max_backlight(dev); + if (dev_priv-backlight.level == 0) { + dev_priv-backlight.level = intel_panel_get_max_backlight(dev); + if (dev_priv-backlight.device) + dev_priv-backlight.device-props.brightness = + dev_priv-backlight.level; + } - dev_priv-backlight.enabled = true; - intel_panel_actually_set_backlight(dev, dev_priv-backlight.level); - if (INTEL_INFO(dev)-gen = 4) { uint32_t reg, tmp; @@@ -356,12 -366,12 +363,12 @@@ } set_level: - /* Check the current backlight level and try to set again if it's zero. - * On some machines, BLC_PWM_CPU_CTL is cleared to zero automatically - * when BLC_PWM_CPU_CTL2 and BLC_PWM_PCH_CTL1 are written. + /* Call below after setting BLC_PWM_CPU_CTL2 and BLC_PWM_PCH_CTL1. + * BLC_PWM_CPU_CTL may be cleared to zero automatically when these + * registers are set. */ - dev_priv-backlight_enabled = true; - intel_panel_actually_set_backlight(dev, dev_priv-backlight_level); - if (!intel_panel_get_backlight(dev)) - intel_panel_actually_set_backlight(dev, dev_priv-backlight.level); ++ dev_priv-backlight.enabled = true; ++ intel_panel_actually_set_backlight(dev, dev_priv-backlight.level); } static void intel_panel_init_backlight(struct drm_device *dev) pgpQ_ewlYZ83T.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got a conflict in drivers/gpu/drm/i915/intel_dp.c between commit 9d1a455b0ca1 () from Linus' tree and commit 965e0c489f36 (drm/i915: introduce pipe_config-dither|pipe_bpp) from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/intel_dp.c index d7d4afe,92a7c62..000 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@@ -850,10 -792,10 +802,10 @@@ intel_dp_set_m_n(struct drm_crtc *crtc * the number of bytes_per_pixel post-LUT, which we always * set up for 8-bits of R/G/B, or 3 bytes total. */ - intel_link_compute_m_n(intel_crtc-bpp, lane_count, + intel_link_compute_m_n(intel_crtc-config.pipe_bpp, lane_count, - mode-clock, adjusted_mode-clock, m_n); + target_clock, adjusted_mode-clock, m_n); - if (IS_HASWELL(dev)) { + if (HAS_DDI(dev)) { I915_WRITE(PIPE_DATA_M1(cpu_transcoder), TU_SIZE(m_n.tu) | m_n.gmch_m); I915_WRITE(PIPE_DATA_N1(cpu_transcoder), m_n.gmch_n); pgpxPf6ouagnl.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] linux-next: manual merge of the drm-intel tree with Linus' tree
Hi all, Today's linux-next merge of the drm-intel tree got conflicts in drivers/gpu/drm/i915/intel_hdmi.c and drivers/gpu/drm/i915/intel_sdvo.c between commit 18316c8c39a8 (drm: Remove duplicate drm_mode_cea_vic()) from Linus' tree and commit 4f3a8bc7ba6e (drm/i915: rename some HDMI bit definitions) from the drm-intel tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/gpu/drm/i915/intel_hdmi.c index fa8ec4a,4d222ec..000 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c @@@ -781,8 -777,8 +777,8 @@@ bool intel_hdmi_mode_fixup(struct drm_e if (intel_hdmi-color_range_auto) { /* See CEA-861-E - 5.1 Default Encoding Parameters */ if (intel_hdmi-has_hdmi_sink - drm_mode_cea_vic(adjusted_mode) 1) + drm_match_cea_mode(adjusted_mode) 1) - intel_hdmi-color_range = SDVO_COLOR_RANGE_16_235; + intel_hdmi-color_range = HDMI_COLOR_RANGE_16_235; else intel_hdmi-color_range = 0; } diff --cc drivers/gpu/drm/i915/intel_sdvo.c index d07a8cd,63dcb76..000 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c @@@ -1076,9 -1076,11 +1076,11 @@@ static bool intel_sdvo_mode_fixup(struc if (intel_sdvo-color_range_auto) { /* See CEA-861-E - 5.1 Default Encoding Parameters */ + /* FIXME: This bit is only valid when using TMDS encoding and 8 +* bit per color mode. */ if (intel_sdvo-has_hdmi_monitor - drm_mode_cea_vic(adjusted_mode) 1) + drm_match_cea_mode(adjusted_mode) 1) - intel_sdvo-color_range = SDVO_COLOR_RANGE_16_235; + intel_sdvo-color_range = HDMI_COLOR_RANGE_16_235; else intel_sdvo-color_range = 0; } pgpmtHCoSWMxo.pgp Description: PGP signature ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx