linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: manual merge of the drm tree with Linus' tree
@ 2020-05-25  3:51 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2020-05-25  3:51 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Nicholas Kazlauskas, Alex Deucher, Yongqiang Sun, Jason Yan,
	Sung Lee

[-- Attachment #1: Type: text/plain, Size: 3537 bytes --]

Hi all,

Today's linux-next merge of the drm tree got conflicts in:

  drivers/gpu/drm/amd/display/dc/dcn10/dcn10_init.c
  drivers/gpu/drm/amd/display/dc/dcn20/dcn20_init.c

between commit:

  31ecebee9c36 ("drm/amd/display: Defer cursor lock until after VUPDATE")

from Linus' tree and commits:

  b3a941df690f ("drm/amd/display: Power down hw blocks on boot")
  4b0e95d1838f ("drm/amd/display: Add set backlight to hw sequencer.")
  ddea4ed01058 ("drm/amd/display: remove duplicate assignment of dcn21_funcs members")
  3ba01817365c ("drm/amd/display: Move panel_cntl specific register from abm to panel_cntl.")

from the drm 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/amd/display/dc/dcn10/dcn10_init.c
index 9e8e32629e47,897a3d25685a..000000000000
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_init.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_init.c
@@@ -72,7 -72,8 +72,9 @@@ static const struct hw_sequencer_funcs 
  	.set_clock = dcn10_set_clock,
  	.get_clock = dcn10_get_clock,
  	.get_vupdate_offset_from_vsync = dcn10_get_vupdate_offset_from_vsync,
+ 	.set_backlight_level = dce110_set_backlight_level,
+ 	.set_abm_immediate_disable = dce110_set_abm_immediate_disable,
 +	.calc_vupdate_position = dcn10_calc_vupdate_position,
  };
  
  static const struct hwseq_private_funcs dcn10_private_funcs = {
diff --cc drivers/gpu/drm/amd/display/dc/dcn20/dcn20_init.c
index 8334bbd6eabb,a8bcd747d7ba..000000000000
--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_init.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_init.c
@@@ -83,7 -83,8 +83,9 @@@ static const struct hw_sequencer_funcs 
  	.init_vm_ctx = dcn20_init_vm_ctx,
  	.set_flip_control_gsl = dcn20_set_flip_control_gsl,
  	.get_vupdate_offset_from_vsync = dcn10_get_vupdate_offset_from_vsync,
+ 	.set_backlight_level = dce110_set_backlight_level,
+ 	.set_abm_immediate_disable = dce110_set_abm_immediate_disable,
 +	.calc_vupdate_position = dcn10_calc_vupdate_position,
  };
  
  static const struct hwseq_private_funcs dcn20_private_funcs = {
diff --cc drivers/gpu/drm/amd/display/dc/dcn21/dcn21_init.c
index 4dd634118df2,e97dfaa656e9..000000000000
--- a/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_init.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_init.c
@@@ -86,12 -86,9 +86,10 @@@ static const struct hw_sequencer_funcs 
  	.optimize_pwr_state = dcn21_optimize_pwr_state,
  	.exit_optimized_pwr_state = dcn21_exit_optimized_pwr_state,
  	.get_vupdate_offset_from_vsync = dcn10_get_vupdate_offset_from_vsync,
 +	.calc_vupdate_position = dcn10_calc_vupdate_position,
- 	.set_cursor_position = dcn10_set_cursor_position,
- 	.set_cursor_attribute = dcn10_set_cursor_attribute,
- 	.set_cursor_sdr_white_level = dcn10_set_cursor_sdr_white_level,
- 	.optimize_pwr_state = dcn21_optimize_pwr_state,
- 	.exit_optimized_pwr_state = dcn21_exit_optimized_pwr_state,
+ 	.power_down = dce110_power_down,
+ 	.set_backlight_level = dce110_set_backlight_level,
+ 	.set_abm_immediate_disable = dce110_set_abm_immediate_disable,
  };
  
  static const struct hwseq_private_funcs dcn21_private_funcs = {

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2021-10-29  0:48 Stephen Rothwell
@ 2021-10-29  6:52 ` Joonas Lahtinen
  0 siblings, 0 replies; 131+ messages in thread
From: Joonas Lahtinen @ 2021-10-29  6:52 UTC (permalink / raw)
  To: DRI, Dave Airlie, Stephen Rothwell
  Cc: John Harrison, Linux Kernel Mailing List,
	Linux Next Mailing List, Matthew Brost

Quoting Stephen Rothwell (2021-10-29 03:48:40)
> Hi all,
> 
> Today's linux-next merge of the drm tree got a conflict in:
> 
>   drivers/gpu/drm/i915/i915_trace.h
> 
> between commit:
> 
>   9a4aa3a2f160 ("drm/i915: Revert 'guc_id' from i915_request tracepoint")
> 
> from Linus' tree and commit:
> 
>   3cb3e3434b9f ("drm/i915/guc: Move fields protected by guc->contexts_lock into sub structure")
> 
> from the drm tree.
> 
> I fixed it up (I used the former version) and can carry the fix as
> necessary.

The resolution for the conflict is to drop the guc_id field completely
in linux-next.

Regards, Joonas

> 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

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2021-10-29  0:48 Stephen Rothwell
  2021-10-29  6:52 ` Joonas Lahtinen
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2021-10-29  0:48 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: John Harrison, Joonas Lahtinen, Linux Kernel Mailing List,
	Linux Next Mailing List, Matthew Brost

[-- Attachment #1: Type: text/plain, Size: 787 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/i915/i915_trace.h

between commit:

  9a4aa3a2f160 ("drm/i915: Revert 'guc_id' from i915_request tracepoint")

from Linus' tree and commit:

  3cb3e3434b9f ("drm/i915/guc: Move fields protected by guc->contexts_lock into sub structure")

from the drm tree.

I fixed it up (I used the former 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

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2021-10-11  0:37 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2021-10-11  0:37 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Alex Deucher, Jude Shih, Linux Kernel Mailing List,
	Linux Next Mailing List, Meenakshikumar Somasundaram

[-- Attachment #1: Type: text/plain, Size: 787 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/amd/display/include/dal_asic_id.h

between commit:

  7ab0965079bb ("drm/amd/display: USB4 bring up set correct address")

from Linus' tree and commit:

  13900e6fde3f ("drm/amd/display: Fix for null pointer access for ddc pin and aux engine.")

from the drm tree.

I fixed it up (I 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

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2021-08-23  2:41 Stephen Rothwell
@ 2021-08-24  0:12 ` Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2021-08-24  0:12 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Chun-Kuang Hu, Linux Kernel Mailing List,
	Linux Next Mailing List, Yongqiang Niu, jason-jh.lin,
	Guenter Roeck

[-- Attachment #1: Type: text/plain, Size: 3433 bytes --]

Hi all,

[Thanks Guenter for pointing this out]

On Mon, 23 Aug 2021 12:41:22 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Today's linux-next merge of the drm tree got a conflict in:
> 
>   drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> 
> between commit:
> 
>   71ac6f390f6a ("drm/mediatek: Add AAL output size configuration")
> 
> from Linus' tree and commit:
> 
>   78d1783c3243 ("drm/mediatek: Separate aal sub driver")
> 
> from the drm tree.
> 
> I fixed it up (I added the following merge resolution patch after
> using the latter version of the above file) 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.
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Mon, 23 Aug 2021 12:37:29 +1000
> Subject: [PATCH] drm/mediatek: merge fix for "Add AAL output size
>  configuration"
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  drivers/gpu/drm/mediatek/mtk_disp_aal.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_aal.c b/drivers/gpu/drm/mediatek/mtk_disp_aal.c
> index 64b45284766a..a6760761088b 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_aal.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_aal.c
> @@ -18,7 +18,7 @@
>  #define DISP_AAL_EN				0x0000
>  #define AAL_EN						BIT(0)
>  #define DISP_AAL_SIZE				0x0030
> -
> +#define DISP_AAL_OUTPUT_SIZE			0x04d8
>  
>  struct mtk_disp_aal_data {
>  	bool has_gamma;
> @@ -57,6 +57,7 @@ void mtk_aal_config(struct device *dev, unsigned int w,
>  	struct mtk_disp_aal *aal = dev_get_drvdata(dev);
>  
>  	mtk_ddp_write(cmdq_pkt, w << 16 | h, &aal->cmdq_reg, aal->regs, DISP_AAL_SIZE);
> +	mtk_ddp_write(cmdq_pkt, w << 16 | h, &priv->cmdq_reg, priv->regs, DISP_AAL_OUTPUT_SIZE);
>  }
>  
>  void mtk_aal_gamma_set(struct device *dev, struct drm_crtc_state *state)

My mistake, I have fixed that patch today to be this:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 23 Aug 2021 12:37:29 +1000
Subject: [PATCH] drm/mediatek: merge fix for "Add AAL output size
 configuration"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/gpu/drm/mediatek/mtk_disp_aal.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_disp_aal.c b/drivers/gpu/drm/mediatek/mtk_disp_aal.c
index 64b45284766a..a6760761088b 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_aal.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_aal.c
@@ -18,7 +18,7 @@
 #define DISP_AAL_EN				0x0000
 #define AAL_EN						BIT(0)
 #define DISP_AAL_SIZE				0x0030
-
+#define DISP_AAL_OUTPUT_SIZE			0x04d8
 
 struct mtk_disp_aal_data {
 	bool has_gamma;
@@ -57,6 +57,7 @@ void mtk_aal_config(struct device *dev, unsigned int w,
 	struct mtk_disp_aal *aal = dev_get_drvdata(dev);
 
 	mtk_ddp_write(cmdq_pkt, w << 16 | h, &aal->cmdq_reg, aal->regs, DISP_AAL_SIZE);
+	mtk_ddp_write(cmdq_pkt, w << 16 | h, &aal->cmdq_reg, aal->regs, DISP_AAL_OUTPUT_SIZE);
 }
 
 void mtk_aal_gamma_set(struct device *dev, struct drm_crtc_state *state)

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2021-08-23  2:41 Stephen Rothwell
  2021-08-24  0:12 ` Stephen Rothwell
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2021-08-23  2:41 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Chun-Kuang Hu, Linux Kernel Mailing List,
	Linux Next Mailing List, Yongqiang Niu, jason-jh.lin

[-- Attachment #1: Type: text/plain, Size: 1995 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c

between commit:

  71ac6f390f6a ("drm/mediatek: Add AAL output size configuration")

from Linus' tree and commit:

  78d1783c3243 ("drm/mediatek: Separate aal sub driver")

from the drm tree.

I fixed it up (I added the following merge resolution patch after
using the latter version of the above file) 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.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 23 Aug 2021 12:37:29 +1000
Subject: [PATCH] drm/mediatek: merge fix for "Add AAL output size
 configuration"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/gpu/drm/mediatek/mtk_disp_aal.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_disp_aal.c b/drivers/gpu/drm/mediatek/mtk_disp_aal.c
index 64b45284766a..a6760761088b 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_aal.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_aal.c
@@ -18,7 +18,7 @@
 #define DISP_AAL_EN				0x0000
 #define AAL_EN						BIT(0)
 #define DISP_AAL_SIZE				0x0030
-
+#define DISP_AAL_OUTPUT_SIZE			0x04d8
 
 struct mtk_disp_aal_data {
 	bool has_gamma;
@@ -57,6 +57,7 @@ void mtk_aal_config(struct device *dev, unsigned int w,
 	struct mtk_disp_aal *aal = dev_get_drvdata(dev);
 
 	mtk_ddp_write(cmdq_pkt, w << 16 | h, &aal->cmdq_reg, aal->regs, DISP_AAL_SIZE);
+	mtk_ddp_write(cmdq_pkt, w << 16 | h, &priv->cmdq_reg, priv->regs, DISP_AAL_OUTPUT_SIZE);
 }
 
 void mtk_aal_gamma_set(struct device *dev, struct drm_crtc_state *state)
-- 
2.32.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2021-08-12  1:20 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2021-08-12  1:20 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Daniel Vetter, Daniel Vetter, Dave Airlie, Jason Ekstrand,
	Linux Kernel Mailing List, Linux Next Mailing List, Randy Dunlap,
	Rodrigo Vivi

[-- Attachment #1: Type: text/plain, Size: 829 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/i915/i915_globals.c

between commits:

  1354d830cb8f ("drm/i915: Call i915_globals_exit() if pci_register_device() fails")
  a07296453bf2 ("drm/i915: fix i915_globals_exit() section mismatch error")

from Linus' tree and commit:

  bb13ea282535 ("drm/i915: Remove i915_globals")

from the drm tree.

I fixed it up (I just removed the file) 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

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2021-07-01  0:52 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2021-07-01  0:52 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Alex Deucher, Andrew Morton, Felix Kuehling, Liam Howlett,
	Linus Torvalds, Linux Kernel Mailing List,
	Linux Next Mailing List, Philip Yang

[-- Attachment #1: Type: text/plain, Size: 2051 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c

between commit:

  da68547d3692 ("drm/amdgpu: use vma_lookup() in amdgpu_ttm_tt_get_user_pages()")

from Linus' tree and commit:

  04d8d73dbcbe ("drm/amdgpu: add common HMM get pages function")

from the drm 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/amd/amdgpu/amdgpu_ttm.c
index 61c4fb1b87fe,6a214a4dfe04..000000000000
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@@ -689,30 -680,12 +680,12 @@@ int amdgpu_ttm_tt_get_user_pages(struc
  	if (!mmget_not_zero(mm)) /* Happens during process shutdown */
  		return -ESRCH;
  
- 	range = kzalloc(sizeof(*range), GFP_KERNEL);
- 	if (unlikely(!range)) {
- 		r = -ENOMEM;
- 		goto out;
- 	}
- 	range->notifier = &bo->notifier;
- 	range->start = bo->notifier.interval_tree.start;
- 	range->end = bo->notifier.interval_tree.last + 1;
- 	range->default_flags = HMM_PFN_REQ_FAULT;
- 	if (!amdgpu_ttm_tt_is_readonly(ttm))
- 		range->default_flags |= HMM_PFN_REQ_WRITE;
- 
- 	range->hmm_pfns = kvmalloc_array(ttm->num_pages,
- 					 sizeof(*range->hmm_pfns), GFP_KERNEL);
- 	if (unlikely(!range->hmm_pfns)) {
- 		r = -ENOMEM;
- 		goto out_free_ranges;
- 	}
- 
  	mmap_read_lock(mm);
 -	vma = find_vma(mm, start);
 +	vma = vma_lookup(mm, start);
+ 	mmap_read_unlock(mm);
 -	if (unlikely(!vma || start < vma->vm_start)) {
 +	if (unlikely(!vma)) {
  		r = -EFAULT;
- 		goto out_unlock;
+ 		goto out_putmm;
  	}
  	if (unlikely((gtt->userflags & AMDGPU_GEM_USERPTR_ANONONLY) &&
  		vma->vm_file)) {

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2021-03-30  7:36 ` Geert Uytterhoeven
@ 2021-03-30 23:41   ` Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2021-03-30 23:41 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Stephen Rothwell, Dave Airlie, DRI, Alex Deucher,
	Linux Kernel Mailing List, Linux Next Mailing List, shaoyunl

Hi Geert,

On Tue, 30 Mar 2021 09:36:57 +0200 Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>
> On Mon, Mar 29, 2021 at 4:16 AM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> > Today's linux-next merge of the drm tree got a conflict in:
> >
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> >
> > between commits:
> >
> >   9adb125dde69 ("drm/amdgpu: re-enable suspend phase 2 for S0ix")
> >   4021229e32bd ("drm/amdgpu/swsmu: skip gfx cgpg on s0ix suspend")
> >   9bb735abcbd8 ("drm/amdgpu: update comments about s0ix suspend/resume")
> >
> > from Linus' tree and commit:
> >
> >   e3c1b0712fdb ("drm/amdgpu: Reset the devices in the XGMI hive duirng probe")
> >
> > from the drm 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/amd/amdgpu/amdgpu_device.c
> > index 8a5a8ff5d362,0f82c5d21237..000000000000
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > @@@ -2743,16 -2712,15 +2720,25 @@@ static int amdgpu_device_ip_suspend_pha
> >                         continue;
> >                 }
> >
> >  +              /* skip suspend of gfx and psp for S0ix
> >  +               * gfx is in gfxoff state, so on resume it will exit gfxoff just
> >  +               * like at runtime. PSP is also part of the always on hardware
> >  +               * so no need to suspend it.
> >  +               */
> >  +              if (adev->in_s0ix &&
> >  +                  (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP ||
> >  +                   adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GFX))
> >  +                      continue;
> >  +
> > +               /* skip unnecessary suspend if we do not initialize them yet */
> > +               if (adev->gmc.xgmi.pending_reset &&
> > +                   !(adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC ||
> > +                     adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SMC ||
> > +                     adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON ||
> > +                     adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_IH)) {
> > +                       adev->ip_blocks[i].status.hw = false;
> > +                       continue;
> > +               }
> >                 /* XXX handle errors */
> >                 r = adev->ip_blocks[i].version->funcs->suspend(adev);
> >                 /* XXX handle errors */  
> 
> The above is not what you have in next-20210329?
> Your tree has a second copy of the first conflict block after the second:
> 
>                 /* skip suspend of gfx and psp for S0ix
>                 [...]
>                 /* skip unnecessary suspend if we do not initialize them yet */
>                 [...]
>                 /* skip suspend of gfx and psp for S0ix
> 

It happened because those commits in Linus' tree are also (as different
commits) in the amdgpu tree and so git happily did a new merge
resolution and ended up with what you see :-(  I'll see if I can fix it
up for today.

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2021-03-29  2:14 Stephen Rothwell
@ 2021-03-30  7:36 ` Geert Uytterhoeven
  2021-03-30 23:41   ` Stephen Rothwell
  0 siblings, 1 reply; 131+ messages in thread
From: Geert Uytterhoeven @ 2021-03-30  7:36 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Dave Airlie, DRI, Alex Deucher, Linux Kernel Mailing List,
	Linux Next Mailing List, shaoyunl

Hi Stephen,

On Mon, Mar 29, 2021 at 4:16 AM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> Today's linux-next merge of the drm tree got a conflict in:
>
>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>
> between commits:
>
>   9adb125dde69 ("drm/amdgpu: re-enable suspend phase 2 for S0ix")
>   4021229e32bd ("drm/amdgpu/swsmu: skip gfx cgpg on s0ix suspend")
>   9bb735abcbd8 ("drm/amdgpu: update comments about s0ix suspend/resume")
>
> from Linus' tree and commit:
>
>   e3c1b0712fdb ("drm/amdgpu: Reset the devices in the XGMI hive duirng probe")
>
> from the drm 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/amd/amdgpu/amdgpu_device.c
> index 8a5a8ff5d362,0f82c5d21237..000000000000
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@@ -2743,16 -2712,15 +2720,25 @@@ static int amdgpu_device_ip_suspend_pha
>                         continue;
>                 }
>
>  +              /* skip suspend of gfx and psp for S0ix
>  +               * gfx is in gfxoff state, so on resume it will exit gfxoff just
>  +               * like at runtime. PSP is also part of the always on hardware
>  +               * so no need to suspend it.
>  +               */
>  +              if (adev->in_s0ix &&
>  +                  (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP ||
>  +                   adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GFX))
>  +                      continue;
>  +
> +               /* skip unnecessary suspend if we do not initialize them yet */
> +               if (adev->gmc.xgmi.pending_reset &&
> +                   !(adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC ||
> +                     adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SMC ||
> +                     adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON ||
> +                     adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_IH)) {
> +                       adev->ip_blocks[i].status.hw = false;
> +                       continue;
> +               }
>                 /* XXX handle errors */
>                 r = adev->ip_blocks[i].version->funcs->suspend(adev);
>                 /* XXX handle errors */

The above is not what you have in next-20210329?
Your tree has a second copy of the first conflict block after the second:

                /* skip suspend of gfx and psp for S0ix
                [...]
                /* skip unnecessary suspend if we do not initialize them yet */
                [...]
                /* skip suspend of gfx and psp for S0ix

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2021-03-29  2:14 Stephen Rothwell
  2021-03-30  7:36 ` Geert Uytterhoeven
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2021-03-29  2:14 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Alex Deucher, Linux Kernel Mailing List, Linux Next Mailing List,
	shaoyunl

[-- Attachment #1: Type: text/plain, Size: 2212 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

between commits:

  9adb125dde69 ("drm/amdgpu: re-enable suspend phase 2 for S0ix")
  4021229e32bd ("drm/amdgpu/swsmu: skip gfx cgpg on s0ix suspend")
  9bb735abcbd8 ("drm/amdgpu: update comments about s0ix suspend/resume")

from Linus' tree and commit:

  e3c1b0712fdb ("drm/amdgpu: Reset the devices in the XGMI hive duirng probe")

from the drm 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/amd/amdgpu/amdgpu_device.c
index 8a5a8ff5d362,0f82c5d21237..000000000000
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@@ -2743,16 -2712,15 +2720,25 @@@ static int amdgpu_device_ip_suspend_pha
  			continue;
  		}
  
 +		/* skip suspend of gfx and psp for S0ix
 +		 * gfx is in gfxoff state, so on resume it will exit gfxoff just
 +		 * like at runtime. PSP is also part of the always on hardware
 +		 * so no need to suspend it.
 +		 */
 +		if (adev->in_s0ix &&
 +		    (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP ||
 +		     adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GFX))
 +			continue;
 +
+ 		/* skip unnecessary suspend if we do not initialize them yet */
+ 		if (adev->gmc.xgmi.pending_reset &&
+ 		    !(adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC ||
+ 		      adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SMC ||
+ 		      adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON ||
+ 		      adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_IH)) {
+ 			adev->ip_blocks[i].status.hw = false;
+ 			continue;
+ 		}
  		/* XXX handle errors */
  		r = adev->ip_blocks[i].version->funcs->suspend(adev);
  		/* XXX handle errors */

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2021-02-01  1:30 Stephen Rothwell
@ 2021-02-14 22:07 ` Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2021-02-14 22:07 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Alex Deucher, Linux Kernel Mailing List, Linux Next Mailing List,
	Ryan Taylor

[-- Attachment #1: Type: text/plain, Size: 7881 bytes --]

Hi all,

On Mon, 1 Feb 2021 12:30:12 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> 
> Today's linux-next merge of the drm tree got a conflict in:
> 
>   drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h
> 
> between commit:
> 
>   a119f87b86bc ("Revert "drm/amdgpu/swsmu: drop set_fan_speed_percent (v2)"")
> 
> from Linus' tree and commit:
> 
>   d8a0b8dd690b ("drm/amd/pm: add pptable_funcs documentation (v3)")
> 
> from the drm 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/amd/pm/inc/amdgpu_smu.h
> index 0d797fa9f5cc,a087e00382e6..000000000000
> --- a/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h
> +++ b/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h
> @@@ -551,39 -924,199 +924,201 @@@ struct pptable_funcs 
>   	int (*display_clock_voltage_request)(struct smu_context *smu, struct
>   					     pp_display_clock_request
>   					     *clock_req);
> + 
> + 	/**
> + 	 * @get_fan_control_mode: Get the current fan control mode.
> + 	 */
>   	uint32_t (*get_fan_control_mode)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @set_fan_control_mode: Set the fan control mode.
> + 	 */
>   	int (*set_fan_control_mode)(struct smu_context *smu, uint32_t mode);
> + 
>  +	int (*set_fan_speed_percent)(struct smu_context *smu, uint32_t speed);
> ++
> + 	/**
> + 	 * @set_fan_speed_rpm: Set a static fan speed in RPM.
> + 	 */
>   	int (*set_fan_speed_rpm)(struct smu_context *smu, uint32_t speed);
> + 
> + 	/**
> + 	 * @set_xgmi_pstate: Set inter-chip global memory interconnect pstate.
> + 	 * &pstate: Pstate to set. D0 if Nonzero, D3 otherwise.
> + 	 */
>   	int (*set_xgmi_pstate)(struct smu_context *smu, uint32_t pstate);
> + 
> + 	/**
> + 	 * @gfx_off_control: Enable/disable graphics engine poweroff.
> + 	 */
>   	int (*gfx_off_control)(struct smu_context *smu, bool enable);
> + 
> + 
> + 	/**
> + 	 * @get_gfx_off_status: Get graphics engine poweroff status.
> + 	 *
> + 	 * Return:
> + 	 * 0 - GFXOFF(default).
> + 	 * 1 - Transition out of GFX State.
> + 	 * 2 - Not in GFXOFF.
> + 	 * 3 - Transition into GFXOFF.
> + 	 */
>   	uint32_t (*get_gfx_off_status)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @register_irq_handler: Register interupt request handlers.
> + 	 */
>   	int (*register_irq_handler)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @set_azalia_d3_pme: Wake the audio decode engine from d3 sleep.
> + 	 */
>   	int (*set_azalia_d3_pme)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @get_max_sustainable_clocks_by_dc: Get a copy of the max sustainable
> + 	 *                                    clock speeds table.
> + 	 *
> + 	 * Provides a way for the display component (DC) to get the max
> + 	 * sustainable clocks from the SMU.
> + 	 */
>   	int (*get_max_sustainable_clocks_by_dc)(struct smu_context *smu, struct pp_smu_nv_clock_table *max_clocks);
> + 
> + 	/**
> + 	 * @baco_is_support: Check if GPU supports BACO (Bus Active, Chip Off).
> + 	 */
>   	bool (*baco_is_support)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @baco_get_state: Get the current BACO state.
> + 	 *
> + 	 * Return: Current BACO state.
> + 	 */
>   	enum smu_baco_state (*baco_get_state)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @baco_set_state: Enter/exit BACO.
> + 	 */
>   	int (*baco_set_state)(struct smu_context *smu, enum smu_baco_state state);
> + 
> + 	/**
> + 	 * @baco_enter: Enter BACO.
> + 	 */
>   	int (*baco_enter)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @baco_exit: Exit Baco.
> + 	 */
>   	int (*baco_exit)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @mode1_reset_is_support: Check if GPU supports mode1 reset.
> + 	 */
>   	bool (*mode1_reset_is_support)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @mode1_reset: Perform mode1 reset.
> + 	 *
> + 	 * Complete GPU reset.
> + 	 */
>   	int (*mode1_reset)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @mode2_reset: Perform mode2 reset.
> + 	 *
> + 	 * Mode2 reset generally does not reset as many IPs as mode1 reset. The
> + 	 * IPs reset varies by asic.
> + 	 */
>   	int (*mode2_reset)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @get_dpm_ultimate_freq: Get the hard frequency range of a clock
> + 	 *                         domain in MHz.
> + 	 */
>   	int (*get_dpm_ultimate_freq)(struct smu_context *smu, enum smu_clk_type clk_type, uint32_t *min, uint32_t *max);
> + 
> + 	/**
> + 	 * @set_soft_freq_limited_range: Set the soft frequency range of a clock
> + 	 *                               domain in MHz.
> + 	 */
>   	int (*set_soft_freq_limited_range)(struct smu_context *smu, enum smu_clk_type clk_type, uint32_t min, uint32_t max);
> + 
> + 	/**
> + 	 * @set_power_source: Notify the SMU of the current power source.
> + 	 */
>   	int (*set_power_source)(struct smu_context *smu, enum smu_power_src_type power_src);
> + 
> + 	/**
> + 	 * @log_thermal_throttling_event: Print a thermal throttling warning to
> + 	 *                                the system's log.
> + 	 */
>   	void (*log_thermal_throttling_event)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @get_pp_feature_mask: Print a human readable table of enabled
> + 	 *                       features to buffer.
> + 	 */
>   	size_t (*get_pp_feature_mask)(struct smu_context *smu, char *buf);
> + 
> + 	/**
> + 	 * @set_pp_feature_mask: Request the SMU enable/disable features to
> + 	 *                       match those enabled in &new_mask.
> + 	 */
>   	int (*set_pp_feature_mask)(struct smu_context *smu, uint64_t new_mask);
> + 
> + 	/**
> + 	 * @get_gpu_metrics: Get a copy of the GPU metrics table from the SMU.
> + 	 *
> + 	 * Return: Size of &table
> + 	 */
>   	ssize_t (*get_gpu_metrics)(struct smu_context *smu, void **table);
> + 
> + 	/**
> + 	 * @enable_mgpu_fan_boost: Enable multi-GPU fan boost.
> + 	 */
>   	int (*enable_mgpu_fan_boost)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @gfx_ulv_control: Enable/disable ultra low voltage.
> + 	 */
>   	int (*gfx_ulv_control)(struct smu_context *smu, bool enablement);
> + 
> + 	/**
> + 	 * @deep_sleep_control: Enable/disable deep sleep.
> + 	 */
>   	int (*deep_sleep_control)(struct smu_context *smu, bool enablement);
> + 
> + 	/**
> + 	 * @get_fan_parameters: Get fan parameters.
> + 	 *
> + 	 * Get maximum fan speed from the power play table.
> + 	 */
>   	int (*get_fan_parameters)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @post_init: Helper function for asic specific workarounds.
> + 	 */
>   	int (*post_init)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @interrupt_work: Work task scheduled from SMU interrupt handler.
> + 	 */
>   	void (*interrupt_work)(struct smu_context *smu);
> + 
> + 	/**
> + 	 * @gpo_control: Enable/disable graphics power optimization if supported.
> + 	 */
>   	int (*gpo_control)(struct smu_context *smu, bool enablement);
> + 
> + 	/**
> + 	 * @gfx_state_change_set: Send the current graphics state to the SMU.
> + 	 */
>   	int (*gfx_state_change_set)(struct smu_context *smu, uint32_t state);
> + 
> + 	/**
> + 	 * @set_fine_grain_gfx_freq_parameters: Set fine grain graphics clock
> + 	 *                                      parameters to defaults.
> + 	 */
>   	int (*set_fine_grain_gfx_freq_parameters)(struct smu_context *smu);
>   };
>   

With the merge window about to open, this is a reminder that this
conflict still exists.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2021-02-01  1:30 Stephen Rothwell
  2021-02-14 22:07 ` Stephen Rothwell
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2021-02-01  1:30 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Alex Deucher, Linux Kernel Mailing List, Linux Next Mailing List,
	Ryan Taylor

[-- Attachment #1: Type: text/plain, Size: 7248 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h

between commit:

  a119f87b86bc ("Revert "drm/amdgpu/swsmu: drop set_fan_speed_percent (v2)"")

from Linus' tree and commit:

  d8a0b8dd690b ("drm/amd/pm: add pptable_funcs documentation (v3)")

from the drm 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/amd/pm/inc/amdgpu_smu.h
index 0d797fa9f5cc,a087e00382e6..000000000000
--- a/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h
+++ b/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h
@@@ -551,39 -924,199 +924,201 @@@ struct pptable_funcs 
  	int (*display_clock_voltage_request)(struct smu_context *smu, struct
  					     pp_display_clock_request
  					     *clock_req);
+ 
+ 	/**
+ 	 * @get_fan_control_mode: Get the current fan control mode.
+ 	 */
  	uint32_t (*get_fan_control_mode)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @set_fan_control_mode: Set the fan control mode.
+ 	 */
  	int (*set_fan_control_mode)(struct smu_context *smu, uint32_t mode);
+ 
 +	int (*set_fan_speed_percent)(struct smu_context *smu, uint32_t speed);
++
+ 	/**
+ 	 * @set_fan_speed_rpm: Set a static fan speed in RPM.
+ 	 */
  	int (*set_fan_speed_rpm)(struct smu_context *smu, uint32_t speed);
+ 
+ 	/**
+ 	 * @set_xgmi_pstate: Set inter-chip global memory interconnect pstate.
+ 	 * &pstate: Pstate to set. D0 if Nonzero, D3 otherwise.
+ 	 */
  	int (*set_xgmi_pstate)(struct smu_context *smu, uint32_t pstate);
+ 
+ 	/**
+ 	 * @gfx_off_control: Enable/disable graphics engine poweroff.
+ 	 */
  	int (*gfx_off_control)(struct smu_context *smu, bool enable);
+ 
+ 
+ 	/**
+ 	 * @get_gfx_off_status: Get graphics engine poweroff status.
+ 	 *
+ 	 * Return:
+ 	 * 0 - GFXOFF(default).
+ 	 * 1 - Transition out of GFX State.
+ 	 * 2 - Not in GFXOFF.
+ 	 * 3 - Transition into GFXOFF.
+ 	 */
  	uint32_t (*get_gfx_off_status)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @register_irq_handler: Register interupt request handlers.
+ 	 */
  	int (*register_irq_handler)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @set_azalia_d3_pme: Wake the audio decode engine from d3 sleep.
+ 	 */
  	int (*set_azalia_d3_pme)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @get_max_sustainable_clocks_by_dc: Get a copy of the max sustainable
+ 	 *                                    clock speeds table.
+ 	 *
+ 	 * Provides a way for the display component (DC) to get the max
+ 	 * sustainable clocks from the SMU.
+ 	 */
  	int (*get_max_sustainable_clocks_by_dc)(struct smu_context *smu, struct pp_smu_nv_clock_table *max_clocks);
+ 
+ 	/**
+ 	 * @baco_is_support: Check if GPU supports BACO (Bus Active, Chip Off).
+ 	 */
  	bool (*baco_is_support)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @baco_get_state: Get the current BACO state.
+ 	 *
+ 	 * Return: Current BACO state.
+ 	 */
  	enum smu_baco_state (*baco_get_state)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @baco_set_state: Enter/exit BACO.
+ 	 */
  	int (*baco_set_state)(struct smu_context *smu, enum smu_baco_state state);
+ 
+ 	/**
+ 	 * @baco_enter: Enter BACO.
+ 	 */
  	int (*baco_enter)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @baco_exit: Exit Baco.
+ 	 */
  	int (*baco_exit)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @mode1_reset_is_support: Check if GPU supports mode1 reset.
+ 	 */
  	bool (*mode1_reset_is_support)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @mode1_reset: Perform mode1 reset.
+ 	 *
+ 	 * Complete GPU reset.
+ 	 */
  	int (*mode1_reset)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @mode2_reset: Perform mode2 reset.
+ 	 *
+ 	 * Mode2 reset generally does not reset as many IPs as mode1 reset. The
+ 	 * IPs reset varies by asic.
+ 	 */
  	int (*mode2_reset)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @get_dpm_ultimate_freq: Get the hard frequency range of a clock
+ 	 *                         domain in MHz.
+ 	 */
  	int (*get_dpm_ultimate_freq)(struct smu_context *smu, enum smu_clk_type clk_type, uint32_t *min, uint32_t *max);
+ 
+ 	/**
+ 	 * @set_soft_freq_limited_range: Set the soft frequency range of a clock
+ 	 *                               domain in MHz.
+ 	 */
  	int (*set_soft_freq_limited_range)(struct smu_context *smu, enum smu_clk_type clk_type, uint32_t min, uint32_t max);
+ 
+ 	/**
+ 	 * @set_power_source: Notify the SMU of the current power source.
+ 	 */
  	int (*set_power_source)(struct smu_context *smu, enum smu_power_src_type power_src);
+ 
+ 	/**
+ 	 * @log_thermal_throttling_event: Print a thermal throttling warning to
+ 	 *                                the system's log.
+ 	 */
  	void (*log_thermal_throttling_event)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @get_pp_feature_mask: Print a human readable table of enabled
+ 	 *                       features to buffer.
+ 	 */
  	size_t (*get_pp_feature_mask)(struct smu_context *smu, char *buf);
+ 
+ 	/**
+ 	 * @set_pp_feature_mask: Request the SMU enable/disable features to
+ 	 *                       match those enabled in &new_mask.
+ 	 */
  	int (*set_pp_feature_mask)(struct smu_context *smu, uint64_t new_mask);
+ 
+ 	/**
+ 	 * @get_gpu_metrics: Get a copy of the GPU metrics table from the SMU.
+ 	 *
+ 	 * Return: Size of &table
+ 	 */
  	ssize_t (*get_gpu_metrics)(struct smu_context *smu, void **table);
+ 
+ 	/**
+ 	 * @enable_mgpu_fan_boost: Enable multi-GPU fan boost.
+ 	 */
  	int (*enable_mgpu_fan_boost)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @gfx_ulv_control: Enable/disable ultra low voltage.
+ 	 */
  	int (*gfx_ulv_control)(struct smu_context *smu, bool enablement);
+ 
+ 	/**
+ 	 * @deep_sleep_control: Enable/disable deep sleep.
+ 	 */
  	int (*deep_sleep_control)(struct smu_context *smu, bool enablement);
+ 
+ 	/**
+ 	 * @get_fan_parameters: Get fan parameters.
+ 	 *
+ 	 * Get maximum fan speed from the power play table.
+ 	 */
  	int (*get_fan_parameters)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @post_init: Helper function for asic specific workarounds.
+ 	 */
  	int (*post_init)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @interrupt_work: Work task scheduled from SMU interrupt handler.
+ 	 */
  	void (*interrupt_work)(struct smu_context *smu);
+ 
+ 	/**
+ 	 * @gpo_control: Enable/disable graphics power optimization if supported.
+ 	 */
  	int (*gpo_control)(struct smu_context *smu, bool enablement);
+ 
+ 	/**
+ 	 * @gfx_state_change_set: Send the current graphics state to the SMU.
+ 	 */
  	int (*gfx_state_change_set)(struct smu_context *smu, uint32_t state);
+ 
+ 	/**
+ 	 * @set_fine_grain_gfx_freq_parameters: Set fine grain graphics clock
+ 	 *                                      parameters to defaults.
+ 	 */
  	int (*set_fine_grain_gfx_freq_parameters)(struct smu_context *smu);
  };
  

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2021-01-18  0:56 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2021-01-18  0:56 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Alex Deucher, Bhawanpreet Lakha, Linux Kernel Mailing List,
	Linux Next Mailing List, Rodrigo Siqueira

[-- Attachment #1: Type: text/plain, Size: 2057 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h

between commits:

  3c517ca5212f ("Revert "drm/amdgpu/disply: fix documentation warnings in display manager"")
  a7ddd22151fc ("Revert "drm/amd/display: Expose new CRC window property"")

from Linus' tree and commit:

  71338cb4a7c2 ("drm/amd/display: enable idle optimizations for linux (MALL stutter)")

from the drm 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/amd/display/amdgpu_dm/amdgpu_dm.h
index 1182dafcef02,f084e2fc9569..000000000000
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
@@@ -336,6 -336,39 +336,13 @@@ struct amdgpu_display_manager 
  	 */
  	const struct gpu_info_soc_bounding_box_v1_0 *soc_bounding_box;
  
+ 	/**
+ 	 * @active_vblank_irq_count
+ 	 *
+ 	 * number of currently active vblank irqs
+ 	 */
+ 	uint32_t active_vblank_irq_count;
+ 
 -#ifdef CONFIG_DEBUG_FS
 -	/**
 -	 * @crc_win_x_start_property:
 -	 *
 -	 * X start of the crc calculation window
 -	 */
 -	struct drm_property *crc_win_x_start_property;
 -	/**
 -	 * @crc_win_y_start_property:
 -	 *
 -	 * Y start of the crc calculation window
 -	 */
 -	struct drm_property *crc_win_y_start_property;
 -	/**
 -	 * @crc_win_x_end_property:
 -	 *
 -	 * X end of the crc calculation window
 -	 */
 -	struct drm_property *crc_win_x_end_property;
 -	/**
 -	 * @crc_win_y_end_property:
 -	 *
 -	 * Y end of the crc calculation window
 -	 */
 -	struct drm_property *crc_win_y_end_property;
 -#endif
  	/**
  	 * @mst_encoders:
  	 *

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2020-10-02  3:42 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2020-10-02  3:42 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Alex Deucher, Evan Quan, Linux Kernel Mailing List,
	Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 2214 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c

between commit:

  b19515253623 ("drm/amd/pm: setup APU dpm clock table in SMU HW initialization")

from the Linus tree and commits:

  82cac71c1b64 ("drm/amd/pm: put Navi1X umc cdr workaround in post_smu_init")
  236b156f7388 ("drm/amd/pm: apply no power source workaround if dc reported by gpio")
  1653a179c822 ("drm/amd/pm: move NAVI1X power mode switching workaround to post_init")

from the drm 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/amd/pm/swsmu/amdgpu_smu.c
index 8dc5abb6931e,5c4b74f964fc..000000000000
--- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
@@@ -955,35 -1013,6 +1002,17 @@@ static int smu_smc_hw_setup(struct smu_
  		return ret;
  	}
  
- 	ret = smu_disable_umc_cdr_12gbps_workaround(smu);
- 	if (ret) {
- 		dev_err(adev->dev, "Workaround failed to disable UMC CDR feature on 12Gbps SKU!\n");
- 		return ret;
- 	}
- 
- 	/*
- 	 * For Navi1X, manually switch it to AC mode as PMFW
- 	 * may boot it with DC mode.
- 	 */
- 	ret = smu_set_power_source(smu,
- 				   adev->pm.ac_power ? SMU_POWER_SOURCE_AC :
- 				   SMU_POWER_SOURCE_DC);
- 	if (ret) {
- 		dev_err(adev->dev, "Failed to switch to %s mode!\n", adev->pm.ac_power ? "AC" : "DC");
- 		return ret;
- 	}
- 
 +	/*
 +	 * Set initialized values (get from vbios) to dpm tables context such as
 +	 * gfxclk, memclk, dcefclk, and etc. And enable the DPM feature for each
 +	 * type of clks.
 +	 */
 +	ret = smu_set_default_dpm_table(smu);
 +	if (ret) {
 +		dev_err(adev->dev, "Failed to setup default dpm clock tables!\n");
 +		return ret;
 +	}
 +
  	ret = smu_notify_display_change(smu);
  	if (ret)
  		return ret;

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2020-03-23  0:50 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2020-03-23  0:50 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Mario Kleiner, Alex Deucher, Lyude Paul

[-- Attachment #1: Type: text/plain, Size: 1671 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

between commit:

  eb916a5a93a6 ("drm/amd/display: Fix pageflip event race condition for DCN.")

from Linus' tree and commit:

  7f2be468a855 ("drm/amdgpu: Stop using the DRIVER debugging flag for vblank debugging messages")

from the drm 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/amd/display/amdgpu_dm/amdgpu_dm.c
index 6240259b3a93,a4256780e70e..000000000000
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@@ -522,9 -524,8 +524,9 @@@ static void dm_dcn_crtc_high_irq(void *
  
  	acrtc_state = to_dm_crtc_state(acrtc->base.state);
  
- 	DRM_DEBUG_DRIVER("crtc:%d, vupdate-vrr:%d, planes:%d\n", acrtc->crtc_id,
- 			 amdgpu_dm_vrr_active(acrtc_state),
- 			 acrtc_state->active_planes);
 -	DRM_DEBUG_VBL("crtc:%d, vupdate-vrr:%d\n", acrtc->crtc_id,
 -		      amdgpu_dm_vrr_active(acrtc_state));
++	DRM_DEBUG_VBL("crtc:%d, vupdate-vrr:%d, planes:%d\n", acrtc->crtc_id,
++		      amdgpu_dm_vrr_active(acrtc_state),
++		      acrtc_state->active_planes);
  
  	amdgpu_dm_crtc_handle_crc_irq(&acrtc->base);
  	drm_crtc_handle_vblank(&acrtc->base);

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2019-11-13  1:38 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2019-11-13  1:38 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Linux Next Mailing List, Linux Kernel Mailing List, Imre Deak,
	Jon Bloomfield, Andi Shyti, Chris Wilson, Mika Kuoppala

[-- Attachment #1: Type: text/plain, Size: 925 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/i915/i915_drv.h
  drivers/gpu/drm/i915/intel_pm.c
  drivers/gpu/drm/i915/intel_pm.h

between commit:

  7e34f4e4aad3 ("drm/i915/gen8+: Add RC6 CTX corruption WA")

from Linus' tree and commits:

  c113236718e8 ("drm/i915: Extract GT render sleep (rc6) management")
  3e7abf814193 ("drm/i915: Extract GT render power state management")

from the drm tree.

I fixed it up (This was too messy, so I effectively reverted the former
patch) 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

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2019-11-13  1:13 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2019-11-13  1:13 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Linux Next Mailing List, Linux Kernel Mailing List, Uma Shankar,
	Jon Bloomfield, Anshuman Gupta, Imre Deak

[-- Attachment #1: Type: text/plain, Size: 1336 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/i915/i915_reg.h

between commit:

  1d85a299c4db ("drm/i915: Lower RM timeout to avoid DSI hard hangs")

from Linus' tree and commit:

  41286861b4c9 ("drm/i915/tgl: Add DC3CO counter in i915_dmc_info")

from the drm 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_reg.h
index f8ee9aba3955,53c280c4e741..000000000000
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@@ -7217,10 -7351,8 +7357,12 @@@ enum 
  #define TGL_DMC_DEBUG_DC5_COUNT	_MMIO(0x101084)
  #define TGL_DMC_DEBUG_DC6_COUNT	_MMIO(0x101088)
  
+ #define DMC_DEBUG3		_MMIO(0x101090)
+ 
 +/* Display Internal Timeout Register */
 +#define RM_TIMEOUT		_MMIO(0x42060)
 +#define  MMIO_TIMEOUT_US(us)	((us) << 0)
 +
  /* interrupts */
  #define DE_MASTER_IRQ_CONTROL   (1 << 31)
  #define DE_SPRITEB_FLIP_DONE    (1 << 29)

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2019-11-13  0:58 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2019-11-13  0:58 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Linux Next Mailing List, Linux Kernel Mailing List, Imre Deak,
	Jon Bloomfield, Mika Kuoppala, Jani Nikula, Rodrigo Vivi,
	Chris Wilson, Joonas Lahtinen

[-- Attachment #1: Type: text/plain, Size: 1929 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/i915/i915_drv.c

between commits:

  7e34f4e4aad3 ("drm/i915/gen8+: Add RC6 CTX corruption WA")
  2f216a850715 ("drm/i915: update rawclk also on resume")


from Linus' tree and commits:

  5bcd53aa39f3 ("drm/i915: pass i915 to i915_driver_modeset_probe()")
  fd6fe087ca47 ("drm/i915/gt: Call intel_gt_sanitize() directly")

from the drm 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.c
index 3d717e282908,ccb5b566795f..000000000000
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@@ -364,11 -296,14 +296,11 @@@ static int i915_driver_modeset_probe(st
  	if (ret)
  		goto cleanup_vga_client;
  
- 	intel_power_domains_init_hw(dev_priv, false);
 -	/* must happen before intel_power_domains_init_hw() on VLV/CHV */
 -	intel_update_rawclk(i915);
 -
+ 	intel_power_domains_init_hw(i915, false);
  
- 	intel_csr_ucode_init(dev_priv);
+ 	intel_csr_ucode_init(i915);
  
- 	ret = intel_irq_install(dev_priv);
+ 	ret = intel_irq_install(i915);
  	if (ret)
  		goto cleanup_csr;
  
@@@ -2048,14 -1948,8 +1947,10 @@@ static int i915_drm_resume_early(struc
  
  	intel_display_power_resume_early(dev_priv);
  
- 	intel_sanitize_gt_powersave(dev_priv);
- 
  	intel_power_domains_resume(dev_priv);
  
 +	i915_rc6_ctx_wa_resume(dev_priv);
 +
- 	intel_gt_sanitize(&dev_priv->gt, true);
- 
  	enable_rpm_wakeref_asserts(&dev_priv->runtime_pm);
  
  	return ret;

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2019-11-13  0:50 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2019-11-13  0:50 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Linux Next Mailing List, Linux Kernel Mailing List, Imre Deak,
	Jon Bloomfield, Andi Shyti, Chris Wilson

[-- Attachment #1: Type: text/plain, Size: 2119 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/i915/gt/intel_gt_pm.c

between commit:

  7e34f4e4aad3 ("drm/i915/gen8+: Add RC6 CTX corruption WA")

from Linus' tree and commit:

  3e7abf814193 ("drm/i915: Extract GT render power state management")

from the drm 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_gt_pm.c
index fac75afed35b,060a27d9af34..000000000000
--- a/drivers/gpu/drm/i915/gt/intel_gt_pm.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt_pm.c
@@@ -38,20 -61,10 +61,13 @@@ static int __gt_unpark(struct intel_wak
  	gt->awake = intel_display_power_get(i915, POWER_DOMAIN_GT_IRQ);
  	GEM_BUG_ON(!gt->awake);
  
 +	if (NEEDS_RC6_CTX_CORRUPTION_WA(i915))
 +		intel_uncore_forcewake_get(&i915->uncore, FORCEWAKE_ALL);
 +
- 	intel_enable_gt_powersave(i915);
- 
- 	i915_update_gfx_val(i915);
- 	if (INTEL_GEN(i915) >= 6)
- 		gen6_rps_busy(i915);
- 
+ 	intel_rps_unpark(&gt->rps);
  	i915_pmu_gt_unparked(i915);
  
- 	intel_gt_queue_hangcheck(gt);
- 
- 	pm_notify(i915, INTEL_GT_UNPARK);
+ 	intel_gt_unpark_requests(gt);
  
  	return 0;
  }
@@@ -64,17 -77,12 +80,17 @@@ static int __gt_park(struct intel_waker
  
  	GEM_TRACE("\n");
  
- 	pm_notify(i915, INTEL_GT_PARK);
+ 	intel_gt_park_requests(gt);
  
+ 	i915_vma_parked(gt);
  	i915_pmu_gt_parked(i915);
- 	if (INTEL_GEN(i915) >= 6)
- 		gen6_rps_idle(i915);
+ 	intel_rps_park(&gt->rps);
  
 +	if (NEEDS_RC6_CTX_CORRUPTION_WA(i915)) {
 +		i915_rc6_ctx_wa_check(i915);
 +		intel_uncore_forcewake_put(&i915->uncore, FORCEWAKE_ALL);
 +	}
 +
  	/* Everything switched off, flush any residual interrupt just in case */
  	intel_synchronize_irq(i915);
  

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2019-11-13  0:46 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2019-11-13  0:46 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Jon Bloomfield, Mika Kuoppala, Chris Wilson

[-- Attachment #1: Type: text/plain, Size: 1733 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/i915/gt/intel_engine_types.h

between commit:

  311a50e76a33 ("drm/i915: Add support for mandatory cmdparsing")

from Linus' tree and commits:

  cdb736fa8b8b ("drm/i915: Use engine relative LRIs on context setup")
  058179e72e09 ("drm/i915/gt: Replace hangcheck by heartbeats")

from the drm 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_engine_types.h
index 9dd8c299cb2d,c5d1047a4bc5..000000000000
--- a/drivers/gpu/drm/i915/gt/intel_engine_types.h
+++ b/drivers/gpu/drm/i915/gt/intel_engine_types.h
@@@ -473,15 -454,13 +454,14 @@@ struct intel_engine_cs 
  	/* status_notifier: list of callbacks for context-switch changes */
  	struct atomic_notifier_head context_status_notifier;
  
- 	struct intel_engine_hangcheck hangcheck;
- 
 -#define I915_ENGINE_NEEDS_CMD_PARSER BIT(0)
 +#define I915_ENGINE_USING_CMD_PARSER BIT(0)
  #define I915_ENGINE_SUPPORTS_STATS   BIT(1)
  #define I915_ENGINE_HAS_PREEMPTION   BIT(2)
  #define I915_ENGINE_HAS_SEMAPHORES   BIT(3)
  #define I915_ENGINE_NEEDS_BREADCRUMB_TASKLET BIT(4)
  #define I915_ENGINE_IS_VIRTUAL       BIT(5)
+ #define I915_ENGINE_HAS_RELATIVE_MMIO BIT(6)
 +#define I915_ENGINE_REQUIRES_CMD_PARSER BIT(7)
  	unsigned int flags;
  
  	/*

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2019-11-13  0:40 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2019-11-13  0:40 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Jon Bloomfield, Mika Kuoppala, Chris Wilson

[-- Attachment #1: Type: text/plain, Size: 1399 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/i915/gem/i915_gem_context.c

between commit:

  f8c08d8faee5 ("drm/i915/cmdparser: Add support for backward jumps")

from Linus' tree and commit:

  a4e7ccdac38e ("drm/i915: Move context management under GEM")

from the drm 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/gem/i915_gem_context.c
index e41fd94ae5a9,de6e55af82cf..000000000000
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@@ -443,9 -527,10 +529,13 @@@ __create_context(struct drm_i915_privat
  	for (i = 0; i < ARRAY_SIZE(ctx->hang_timestamp); i++)
  		ctx->hang_timestamp[i] = jiffies - CONTEXT_FAST_HANG_JIFFIES;
  
 +	ctx->jump_whitelist = NULL;
 +	ctx->jump_whitelist_cmds = 0;
 +
+ 	spin_lock(&i915->gem.contexts.lock);
+ 	list_add_tail(&ctx->link, &i915->gem.contexts.list);
+ 	spin_unlock(&i915->gem.contexts.lock);
+ 
  	return ctx;
  
  err_free:

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2019-08-26  3:12 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2019-08-26  3:12 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Linux Next Mailing List, Linux Kernel Mailing List, Sam Ravnborg

[-- Attachment #1: Type: text/plain, Size: 2671 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/mediatek/mtk_drm_drv.c

between commit:

  7837951a12fd ("drm/mediatek: include dma-mapping header")

from Linus' tree and commit:

  9aef5867c86c ("drm/mediatek: drop use of drmP.h")

from the drm 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/mediatek/mtk_drm_drv.c
index 945bc20f1d33,2ee809a6f3dc..000000000000
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@@ -4,9 -4,16 +4,17 @@@
   * Author: YT SHEN <yt.shen@mediatek.com>
   */
  
- #include <drm/drmP.h>
+ #include <linux/component.h>
+ #include <linux/iommu.h>
+ #include <linux/module.h>
+ #include <linux/of_address.h>
+ #include <linux/of_platform.h>
+ #include <linux/pm_runtime.h>
++#include <linux/dma-mapping.h>
+ 
  #include <drm/drm_atomic.h>
  #include <drm/drm_atomic_helper.h>
+ #include <drm/drm_drv.h>
  #include <drm/drm_fb_helper.h>
  #include <drm/drm_gem.h>
  #include <drm/drm_gem_cma_helper.h>
@@@ -352,21 -314,8 +346,20 @@@ static const struct file_operations mtk
  	.compat_ioctl = drm_compat_ioctl,
  };
  
 +/*
 + * We need to override this because the device used to import the memory is
 + * not dev->dev, as drm_gem_prime_import() expects.
 + */
 +struct drm_gem_object *mtk_drm_gem_prime_import(struct drm_device *dev,
 +						struct dma_buf *dma_buf)
 +{
 +	struct mtk_drm_private *private = dev->dev_private;
 +
 +	return drm_gem_prime_import_dev(dev, dma_buf, private->dma_dev);
 +}
 +
  static struct drm_driver mtk_drm_driver = {
- 	.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_PRIME |
- 			   DRIVER_ATOMIC,
+ 	.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
  
  	.gem_free_object_unlocked = mtk_drm_gem_free_object,
  	.gem_vm_ops = &drm_gem_cma_vm_ops,
@@@ -374,8 -323,6 +367,7 @@@
  
  	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
  	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
- 	.gem_prime_export = drm_gem_prime_export,
 +	.gem_prime_import = mtk_drm_gem_prime_import,
  	.gem_prime_get_sg_table = mtk_gem_prime_get_sg_table,
  	.gem_prime_import_sg_table = mtk_gem_prime_import_sg_table,
  	.gem_prime_mmap = mtk_drm_gem_mmap_buf,

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2019-06-11  2:19 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2019-06-11  2:19 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Thomas Gleixner, Greg Kroah-Hartman, Gerd Hoffmann, Sam Ravnborg

[-- Attachment #1: Type: text/plain, Size: 935 bytes --]

Hi all,

Today's linux-next merge of the drm tree got conflicts in:

  drivers/gpu/drm/cirrus/cirrus_drv.h
  include/drm/gma_drm.h

between commits:

  a61127c21302 ("treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335")
  c51669eafb45 ("treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 377")

from Linus' tree and commits:

  d825c565304f ("drm/gma500: remove empty gma_drm.h header file")
  0388f2f61bef ("drm/cirrus: remove leftover files")

from the drm tree.

I fixed it up (I just removed te file) 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

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2018-06-04  3:09 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2018-06-04  3:09 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List,
	David Francis, Alex Deucher, Harry Wentland

[-- Attachment #1: Type: text/plain, Size: 1708 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

between commit:

  a9e8d27574f2 ("drm/amd/display: Make atomic-check validate underscan changes")

from Linus' tree and commit:

  dm_update_crtcs_state ("drm/amd/display: Couple formatting fixes")

from the drm 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/amd/display/amdgpu_dm/amdgpu_dm.c
index 27579443cdc5,1ce10bc2d37b..000000000000
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@@ -4577,14 -4650,11 +4650,14 @@@ static int dm_update_crtcs_state(struc
  		/* TODO This hack should go away */
  		if (aconnector && enable) {
  			// Make sure fake sink is created in plug-in scenario
 -			new_con_state = drm_atomic_get_connector_state(state,
 +			drm_new_conn_state = drm_atomic_get_new_connector_state(state,
-  								    &aconnector->base);
+ 								    &aconnector->base);
 +			drm_old_conn_state = drm_atomic_get_old_connector_state(state,
 +								    &aconnector->base);
 +
  
 -			if (IS_ERR(new_con_state)) {
 -				ret = PTR_ERR_OR_ZERO(new_con_state);
 +			if (IS_ERR(drm_new_conn_state)) {
 +				ret = PTR_ERR_OR_ZERO(drm_new_conn_state);
  				break;
  			}
  

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2018-03-22  6:37 Stephen Rothwell
@ 2018-03-26  3:45 ` Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2018-03-26  3:45 UTC (permalink / raw)
  To: Dave Airlie, DRI; +Cc: Linux-Next Mailing List, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 678 bytes --]

Hi all,

On Thu, 22 Mar 2018 17:37:22 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Today's linux-next merge of the drm tree got conflicts in several amdgpu
> files because there are a set of (mostly identical) patches that appear
> Linus' tree and the drm tree.  In each case I just used the version fo
> the file from the drm tree.
> 
> You should do a test merge between your tree and Linus' tree and see what
> you want to do about the resolution (either do the back merge (I think
> with v4.16-rc6), or provide Linus with branch that has the merge done).
> Its a bit of a mess :-(

I got a few more of these today.
-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2018-03-26  3:38 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2018-03-26  3:38 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Thomas Hellstrom, Linux-Next Mailing List, Linux Kernel Mailing List


[-- Attachment #1.1: Type: text/plain, Size: 3637 bytes --]

Hi all,

Today's linux-next merge of the drm tree got conflicts in:

  drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
  drivers/gpu/drm/vmwgfx/vmwgfx_kms.c

between commit:

  140bcaa23a1c ("drm/vmwgfx: Fix black screen and device errors when running without fbdev")

from Linus' tree and commit:

  c3b9b1657344 ("drm/vmwgfx: Improve on hibernation")

from the drm 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/vmwgfx/vmwgfx_drv.h
index 9116fe8baebc,9e60de95b863..000000000000
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
@@@ -938,7 -947,8 +947,9 @@@ int vmw_kms_present(struct vmw_private 
  int vmw_kms_update_layout_ioctl(struct drm_device *dev, void *data,
  				struct drm_file *file_priv);
  void vmw_kms_legacy_hotspot_clear(struct vmw_private *dev_priv);
 +void vmw_kms_lost_device(struct drm_device *dev);
+ int vmw_kms_suspend(struct drm_device *dev);
+ int vmw_kms_resume(struct drm_device *dev);
  
  int vmw_dumb_create(struct drm_file *file_priv,
  		    struct drm_device *dev,
diff --cc drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
index 3c824fd7cbf3,3628a9fe705f..000000000000
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
@@@ -2561,11 -2551,10 +2557,12 @@@ int vmw_kms_helper_resource_prepare(str
  	if (res->backup) {
  		ret = vmw_kms_helper_buffer_prepare(res->dev_priv, res->backup,
  						    interruptible,
- 						    res->dev_priv->has_mob);
+ 						    res->dev_priv->has_mob,
+ 						    false);
  		if (ret)
  			goto out_unreserve;
 +
 +		ctx->buf = vmw_dmabuf_reference(res->backup);
  	}
  	ret = vmw_resource_validate(res);
  	if (ret)
@@@ -2863,12 -2850,49 +2860,59 @@@ int vmw_kms_set_config(struct drm_mode_
  }
  
  
 +/**
 + * vmw_kms_lost_device - Notify kms that modesetting capabilities will be lost
 + *
 + * @dev: Pointer to the drm device
 + */
 +void vmw_kms_lost_device(struct drm_device *dev)
 +{
 +	drm_atomic_helper_shutdown(dev);
 +}
++
+ /**
+  * vmw_kms_suspend - Save modesetting state and turn modesetting off.
+  *
+  * @dev: Pointer to the drm device
+  * Return: 0 on success. Negative error code on failure.
+  */
+ int vmw_kms_suspend(struct drm_device *dev)
+ {
+ 	struct vmw_private *dev_priv = vmw_priv(dev);
+ 
+ 	dev_priv->suspend_state = drm_atomic_helper_suspend(dev);
+ 	if (IS_ERR(dev_priv->suspend_state)) {
+ 		int ret = PTR_ERR(dev_priv->suspend_state);
+ 
+ 		DRM_ERROR("Failed kms suspend: %d\n", ret);
+ 		dev_priv->suspend_state = NULL;
+ 
+ 		return ret;
+ 	}
+ 
+ 	return 0;
+ }
+ 
+ 
+ /**
+  * vmw_kms_resume - Re-enable modesetting and restore state
+  *
+  * @dev: Pointer to the drm device
+  * Return: 0 on success. Negative error code on failure.
+  *
+  * State is resumed from a previous vmw_kms_suspend(). It's illegal
+  * to call this function without a previous vmw_kms_suspend().
+  */
+ int vmw_kms_resume(struct drm_device *dev)
+ {
+ 	struct vmw_private *dev_priv = vmw_priv(dev);
+ 	int ret;
+ 
+ 	if (WARN_ON(!dev_priv->suspend_state))
+ 		return 0;
+ 
+ 	ret = drm_atomic_helper_resume(dev, dev_priv->suspend_state);
+ 	dev_priv->suspend_state = NULL;
+ 
+ 	return ret;
+ }

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2018-03-22  6:37 Stephen Rothwell
  2018-03-26  3:45 ` Stephen Rothwell
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2018-03-22  6:37 UTC (permalink / raw)
  To: Dave Airlie, DRI; +Cc: Linux-Next Mailing List, Linux Kernel Mailing List


[-- Attachment #1.1: Type: text/plain, Size: 540 bytes --]

Hi all,

Today's linux-next merge of the drm tree got conflicts in several amdgpu
files because there are a set of (mostly identical) patches that appear
Linus' tree and the drm tree.  In each case I just used the version fo
the file from the drm tree.

You should do a test merge between your tree and Linus' tree and see what
you want to do about the resolution (either do the back merge (I think
with v4.16-rc6), or provide Linus with branch that has the merge done).
Its a bit of a mess :-(

-- 
Cheers,
Stephen Rothwell

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2018-03-13  1:15 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2018-03-13  1:15 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Eric Huang, Alex Deucher, Linux-Next Mailing List, Rex Zhu,
	Linux Kernel Mailing List


[-- Attachment #1.1: Type: text/plain, Size: 774 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c

between commit:

  a0aaa03062be ("drm/amd/powerplay: fix power over limit on Fiji")

from the Linus' and commit:

  a5278e511dce ("drm/amd/pp: Revert gfx/compute profile switch sysfs")

from the drm 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

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2018-02-18 23:10 Stephen Rothwell
@ 2018-02-20 20:15 ` Rodrigo Vivi
  0 siblings, 0 replies; 131+ messages in thread
From: Rodrigo Vivi @ 2018-02-20 20:15 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Dave Airlie, Linux-Next Mailing List, Linux Kernel Mailing List, DRI

On Mon, Feb 19, 2018 at 10:10:50AM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the drm tree got a conflict in:
> 
>   drivers/gpu/drm/i915/intel_breadcrumbs.c
> 
> between commit:
> 
>   117172c8f9d4 ("drm/i915/breadcrumbs: Ignore unsubmitted signalers")
> 
> from Linus' tree and commit:
> 
>   b7a3f33bd5ab ("drm/i915/breadcrumbs: Drop request reference for the signaler thread")
> 
> from the drm tree.
> 
> These are basically identical for the conflicting section except that
> the former added a line:
> 
> 	GEM_BUG_ON(!i915_gem_request_completed(request));
> 
> which I left in.
> 
> I fixed it up (see above) 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.

For this and for the PMU one, I'm really sorry. I believe I should had
mentioned this to Dave when sending pull request for drm-intel-fixes.

I didn't mentioned because for what fixes is concerned this shouldn't
be a problem, but I totally forgot about linux-next. Please accept my
apologies.

Do you use any rerere on linux-next? I wonder if drm-rerere could be used
somehow here to simplify this process of propagating conflicts resolutions
like this.

Thanks,
Rodrigo.

> 
> -- 
> Cheers,
> Stephen Rothwell



> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2018-02-18 23:10 Stephen Rothwell
  2018-02-20 20:15 ` Rodrigo Vivi
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2018-02-18 23:10 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Rodrigo Vivi, Linux-Next Mailing List, Linux Kernel Mailing List


[-- Attachment #1.1: Type: text/plain, Size: 939 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/i915/intel_breadcrumbs.c

between commit:

  117172c8f9d4 ("drm/i915/breadcrumbs: Ignore unsubmitted signalers")

from Linus' tree and commit:

  b7a3f33bd5ab ("drm/i915/breadcrumbs: Drop request reference for the signaler thread")

from the drm tree.

These are basically identical for the conflicting section except that
the former added a line:

	GEM_BUG_ON(!i915_gem_request_completed(request));

which I left in.

I fixed it up (see above) 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

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2018-02-18 23:02 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2018-02-18 23:02 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Rodrigo Vivi, Linux-Next Mailing List, Linux Kernel Mailing List,
	Tvrtko Ursulin


[-- Attachment #1.1: Type: text/plain, Size: 1415 bytes --]

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/i915/i915_pmu.h

between commit:

  4c83f0a788cc ("drm/i915/pmu: Fix sleep under atomic in RC6 readout")

from Linus' tree and commit:

  109ec558370f ("drm/i915/pmu: Only enumerate available counters in sysfs")

from the drm 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_pmu.h
index bb62df15afa4,5a2e013a56bb..000000000000
--- a/drivers/gpu/drm/i915/i915_pmu.h
+++ b/drivers/gpu/drm/i915/i915_pmu.h
@@@ -96,10 -94,14 +96,18 @@@ struct i915_pmu 
  	 * struct intel_engine_cs.
  	 */
  	struct i915_pmu_sample sample[__I915_NUM_PMU_SAMPLERS];
 +	/**
 +	 * @suspended_jiffies_last: Cached suspend time from PM core.
 +	 */
 +	unsigned long suspended_jiffies_last;
+ 	/**
+ 	 * @i915_attr: Memory block holding device attributes.
+ 	 */
+ 	void *i915_attr;
+ 	/**
+ 	 * @pmu_attr: Memory block holding device attributes.
+ 	 */
+ 	void *pmu_attr;
  };
  
  #ifdef CONFIG_PERF_EVENTS

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2018-01-15  1:08 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2018-01-15  1:08 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Thierry Reding

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/tegra/sor.c

between commit:

  d780537f9b49 ("drm/tegra: sor: Fix hang on Tegra124 eDP")

from Linus' tree and commit:

  1087fac18b8e ("drm/tegra: dc: Use direct offset to plane registers")

from the drm tree.

I fixed it up (I just included the comment from 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

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2017-11-23 23:37 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2017-11-23 23:37 UTC (permalink / raw)
  To: Dave Airlie, DRI
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Jyri Sarha,
	Frank Rowand, Rob Herring

Hi all,

FIXME: Add owner of second tree to To:
       Add author(s)/SOB of conflicting commits.

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/tilcdc/tilcdc_slave_compat.c

between commits:

  0290c4ca2536 ("of: overlay: rename identifiers to more reflect what they do")
  24789c5ce5a3 ("of: overlay: detect cases where device tree may become corrupt")
  f948d6d8b792 ("of: overlay: avoid race condition between applying multiple overlays")

from Linus' tree and commit:

  739acd85ffdb ("drm/tilcdc: Remove obsolete "ti,tilcdc,slave" dts binding support")

from the drm tree.

I fixed it up (the latter removed the file, so I 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

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2017-10-30 18:36 Mark Brown
  0 siblings, 0 replies; 131+ messages in thread
From: Mark Brown @ 2017-10-30 18:36 UTC (permalink / raw)
  To: Dave Airlie, David Airlie, Imre Deak, Rodrigo Vivi
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 1154 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/i915/intel_runtime_pm.c

between commit:

  2a8408e537250 ("drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume")

from Linus' tree and commit:

  57522c4c87de2 ("drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume")

from the drm tree.  This one has also been in Linus' tree since -rc6.

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/intel_display.c
index 5c7828c52d12,7e91dc9a0fcf..000000000000
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
diff --cc drivers/gpu/drm/i915/intel_runtime_pm.c
index 49577eba8e7e,8af286c63d3b..000000000000
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2017-10-30 18:26 Mark Brown
  0 siblings, 0 replies; 131+ messages in thread
From: Mark Brown @ 2017-10-30 18:26 UTC (permalink / raw)
  To: Dave Airlie, Alex Deucher
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 2214 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/amd/scheduler/gpu_scheduler.c

between commit:

  c94501279bb191c ("Revert "drm/amdgpu: discard commands of killed processes"")

from Linus' tree (it even made it into -rc6 over a week ago!) and the
fixes it explicitly identifies from the drm 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/amd/scheduler/gpu_scheduler.c
index 38cea6fb25a8,e4d3b4ec4e92..000000000000
--- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
+++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
@@@ -208,14 -209,34 +209,35 @@@ void amd_sched_entity_fini(struct amd_g
  
  	if (!amd_sched_entity_is_initialized(sched, entity))
  		return;
 +
  	/**
  	 * The client will not queue more IBs during this fini, consume existing
 -	 * queued IBs or discard them on SIGKILL
 +	 * queued IBs
  	*/
- 	wait_event(sched->job_scheduled, amd_sched_entity_is_idle(entity));
+ 	if ((current->flags & PF_SIGNALED) && current->exit_code == SIGKILL)
+ 		r = -ERESTARTSYS;
+ 	else
+ 		r = wait_event_killable(sched->job_scheduled,
+ 					amd_sched_entity_is_idle(entity));
+ 	amd_sched_entity_set_rq(entity, NULL);
+ 	if (r) {
+ 		struct amd_sched_job *job;
+ 
+ 		/* Park the kernel for a moment to make sure it isn't processing
+ 		 * our enity.
+ 		 */
+ 		kthread_park(sched->thread);
+ 		kthread_unpark(sched->thread);
+ 		while (kfifo_out(&entity->job_queue, &job, sizeof(job))) {
+ 			struct amd_sched_fence *s_fence = job->s_fence;
+ 			amd_sched_fence_scheduled(s_fence);
+ 			dma_fence_set_error(&s_fence->finished, -ESRCH);
+ 			amd_sched_fence_finished(s_fence);
+ 			dma_fence_put(&s_fence->finished);
+ 			sched->ops->free_job(job);
+ 		}
  
- 	amd_sched_rq_remove_entity(rq, entity);
+ 	}
  	kfifo_free(&entity->job_queue);
  }
  

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2017-08-28  2:32 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2017-08-28  2:32 UTC (permalink / raw)
  To: Dave Airlie
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Philipp Zabel

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/imx/ipuv3-plane.c

between commit:

  5be5dd38d462 ("drm/imx: ipuv3-plane: fix YUV framebuffer scanout on the base plane")

from Linus' tree and commit:

  58dff39904c0 ("drm/imx: ipuv3-plane: use fb local variable instead of state->fb")

from the drm tree.

I fixed it up (the former included the latter change) 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

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2017-07-31  2:24 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2017-07-31  2:24 UTC (permalink / raw)
  To: Dave Airlie
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List,
	Daniel Vetter, Ben Skeggs

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/nouveau/nv50_display.c

between commit:

  4a5431af19bc ("drm/nouveau/kms/nv50: update vblank state in response to modeset actions")

from Linus' tree and commit:

  ca814b25538a ("drm/vblank: Consistent drm_crtc_ prefix")

from the drm 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/nouveau/nv50_display.c
index 2bc0dc985214,747c99c1e474..000000000000
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@@ -4080,8 -4068,7 +4081,8 @@@ nv50_disp_atomic_commit_tail(struct drm
  		if (crtc->state->event) {
  			unsigned long flags;
  			/* Get correct count/ts if racing with vblank irq */
 -			drm_crtc_accurate_vblank_count(crtc);
 +			if (crtc->state->active)
- 				drm_accurate_vblank_count(crtc);
++				drm_crtc_accurate_vblank_count(crtc);
  			spin_lock_irqsave(&crtc->dev->event_lock, flags);
  			drm_crtc_send_vblank_event(crtc, crtc->state->event);
  			spin_unlock_irqrestore(&crtc->dev->event_lock, flags);

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2017-07-24  2:06 Stephen Rothwell
@ 2017-07-24  2:09 ` Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2017-07-24  2:09 UTC (permalink / raw)
  To: Dave Airlie
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List,
	Noralf Trønnes, Randy Dunlap, Linus Torvalds

Hi all,

On Mon, 24 Jul 2017 12:06:05 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Today's linux-next merge of the drm tree got a conflict in:
> 
>   MAINTAINERS
> 
> between commit:
> 
>   82abbea734d6 ("MAINTAINERS: fix alphabetical ordering")
> 
> from Linus' tree and commit:
> 
>   3589211e9b03 ("drm/tinydrm: Add RePaper e-ink driver")
> 
> from the drm 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.

I did the resolution again after running Linus' script ...

-- 
Cheers,
Stephen Rothwell

diff --cc MAINTAINERS
index 55859cdde82a,9387e6aed3b8..000000000000
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@@ -4306,130 -4349,68 +4306,136 @@@ T:	git git://anongit.freedesktop.org/dr
  S:	Maintained
  F:	drivers/gpu/drm/bochs/
  
 -DRM DRIVER FOR QEMU'S CIRRUS DEVICE
 +DRM DRIVER FOR INTEL I810 VIDEO CARDS
 +S:	Orphan / Obsolete
 +F:	drivers/gpu/drm/i810/
 +F:	include/uapi/drm/i810_drm.h
 +
 +DRM DRIVER FOR MATROX G200/G400 GRAPHICS CARDS
 +S:	Orphan / Obsolete
 +F:	drivers/gpu/drm/mga/
 +F:	include/uapi/drm/mga_drm.h
 +
 +DRM DRIVER FOR MGA G200 SERVER GRAPHICS CHIPS
  M:	Dave Airlie <airlied@redhat.com>
 -M:	Gerd Hoffmann <kraxel@redhat.com>
 -L:	virtualization@lists.linux-foundation.org
 -T:	git git://anongit.freedesktop.org/drm/drm-misc
 -S:	Obsolete
 -W:	https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/
 -F:	drivers/gpu/drm/cirrus/
 +S:	Odd Fixes
 +F:	drivers/gpu/drm/mgag200/
  
 -RADEON and AMDGPU DRM DRIVERS
 -M:	Alex Deucher <alexander.deucher@amd.com>
 -M:	Christian König <christian.koenig@amd.com>
 -L:	amd-gfx@lists.freedesktop.org
 -T:	git git://people.freedesktop.org/~agd5f/linux
 -S:	Supported
 -F:	drivers/gpu/drm/radeon/
 -F:	include/uapi/drm/radeon_drm.h
 -F:	drivers/gpu/drm/amd/
 -F:	include/uapi/drm/amdgpu_drm.h
 +DRM DRIVER FOR MI0283QT
 +M:	Noralf Trønnes <noralf@tronnes.org>
 +S:	Maintained
 +F:	drivers/gpu/drm/tinydrm/mi0283qt.c
 +F:	Documentation/devicetree/bindings/display/multi-inno,mi0283qt.txt
  
 -DRM PANEL DRIVERS
 -M:	Thierry Reding <thierry.reding@gmail.com>
 +DRM DRIVER FOR MSM ADRENO GPU
 +M:	Rob Clark <robdclark@gmail.com>
 +L:	linux-arm-msm@vger.kernel.org
  L:	dri-devel@lists.freedesktop.org
 -T:	git git://anongit.freedesktop.org/tegra/linux.git
 +L:	freedreno@lists.freedesktop.org
 +T:	git git://people.freedesktop.org/~robclark/linux
  S:	Maintained
 -F:	drivers/gpu/drm/drm_panel.c
 -F:	drivers/gpu/drm/panel/
 -F:	include/drm/drm_panel.h
 -F:	Documentation/devicetree/bindings/display/panel/
 +F:	drivers/gpu/drm/msm/
 +F:	include/uapi/drm/msm_drm.h
 +F:	Documentation/devicetree/bindings/display/msm/
  
 -INTEL DRM DRIVERS (excluding Poulsbo, Moorestown and derivative chipsets)
 -M:	Daniel Vetter <daniel.vetter@intel.com>
 -M:	Jani Nikula <jani.nikula@linux.intel.com>
 -L:	intel-gfx@lists.freedesktop.org
 -W:	https://01.org/linuxgraphics/
 -B:	https://01.org/linuxgraphics/documentation/how-report-bugs
 -C:	irc://chat.freenode.net/intel-gfx
 -Q:	http://patchwork.freedesktop.org/project/intel-gfx/
 -T:	git git://anongit.freedesktop.org/drm-intel
 +DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS
 +M:	Ben Skeggs <bskeggs@redhat.com>
 +L:	dri-devel@lists.freedesktop.org
 +L:	nouveau@lists.freedesktop.org
 +T:	git git://github.com/skeggsb/linux
  S:	Supported
 -F:	drivers/gpu/drm/i915/
 -F:	include/drm/i915*
 -F:	include/uapi/drm/i915_drm.h
 -F:	Documentation/gpu/i915.rst
 +F:	drivers/gpu/drm/nouveau/
 +F:	include/uapi/drm/nouveau_drm.h
  
 -INTEL GVT-g DRIVERS (Intel GPU Virtualization)
 -M:      Zhenyu Wang <zhenyuw@linux.intel.com>
 -M:      Zhi Wang <zhi.a.wang@intel.com>
 -L:      intel-gvt-dev@lists.freedesktop.org
 -L:      intel-gfx@lists.freedesktop.org
 -W:      https://01.org/igvt-g
 -T:      git https://github.com/01org/gvt-linux.git
 -S:      Supported
 -F:      drivers/gpu/drm/i915/gvt/
++DRM DRIVER FOR PERVASIVE DISPLAYS REPAPER PANELS
++M:	Noralf Trønnes <noralf@tronnes.org>
++S:	Maintained
++F:	drivers/gpu/drm/tinydrm/repaper.c
++F:	Documentation/devicetree/bindings/display/repaper.txt
+ 
 -DRM DRIVERS FOR ATMEL HLCDC
 -M:	Boris Brezillon <boris.brezillon@free-electrons.com>
 +DRM DRIVER FOR QEMU'S CIRRUS DEVICE
 +M:	Dave Airlie <airlied@redhat.com>
 +M:	Gerd Hoffmann <kraxel@redhat.com>
 +L:	virtualization@lists.linux-foundation.org
 +T:	git git://anongit.freedesktop.org/drm/drm-misc
 +S:	Obsolete
 +W:	https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/
 +F:	drivers/gpu/drm/cirrus/
 +
 +DRM DRIVER FOR QXL VIRTUAL GPU
 +M:	Dave Airlie <airlied@redhat.com>
 +M:	Gerd Hoffmann <kraxel@redhat.com>
 +L:	virtualization@lists.linux-foundation.org
 +T:	git git://anongit.freedesktop.org/drm/drm-misc
 +S:	Maintained
 +F:	drivers/gpu/drm/qxl/
 +F:	include/uapi/drm/qxl_drm.h
 +
 +DRM DRIVER FOR RAGE 128 VIDEO CARDS
 +S:	Orphan / Obsolete
 +F:	drivers/gpu/drm/r128/
 +F:	include/uapi/drm/r128_drm.h
 +
 +DRM DRIVER FOR SAVAGE VIDEO CARDS
 +S:	Orphan / Obsolete
 +F:	drivers/gpu/drm/savage/
 +F:	include/uapi/drm/savage_drm.h
 +
 +DRM DRIVER FOR SIS VIDEO CARDS
 +S:	Orphan / Obsolete
 +F:	drivers/gpu/drm/sis/
 +F:	include/uapi/drm/sis_drm.h
 +
 +DRM DRIVER FOR TDFX VIDEO CARDS
 +S:	Orphan / Obsolete
 +F:	drivers/gpu/drm/tdfx/
 +
 +DRM DRIVER FOR USB DISPLAYLINK VIDEO ADAPTERS
 +M:	Dave Airlie <airlied@redhat.com>
 +S:	Odd Fixes
 +F:	drivers/gpu/drm/udl/
 +
 +DRM DRIVER FOR VMWARE VIRTUAL GPU
 +M:	"VMware Graphics" <linux-graphics-maintainer@vmware.com>
 +M:	Sinclair Yeh <syeh@vmware.com>
 +M:	Thomas Hellstrom <thellstrom@vmware.com>
  L:	dri-devel@lists.freedesktop.org
 +T:	git git://people.freedesktop.org/~syeh/repos_linux
 +T:	git git://people.freedesktop.org/~thomash/linux
  S:	Supported
 -F:	drivers/gpu/drm/atmel-hlcdc/
 -F:	Documentation/devicetree/bindings/drm/atmel/
 +F:	drivers/gpu/drm/vmwgfx/
 +F:	include/uapi/drm/vmwgfx_drm.h
 +
 +DRM DRIVERS
 +M:	David Airlie <airlied@linux.ie>
 +L:	dri-devel@lists.freedesktop.org
 +T:	git git://people.freedesktop.org/~airlied/linux
 +B:	https://bugs.freedesktop.org/
 +C:	irc://chat.freenode.net/dri-devel
 +S:	Maintained
 +F:	drivers/gpu/drm/
 +F:	drivers/gpu/vga/
 +F:	Documentation/devicetree/bindings/display/
 +F:	Documentation/devicetree/bindings/gpu/
 +F:	Documentation/devicetree/bindings/video/
 +F:	Documentation/gpu/
 +F:	include/drm/
 +F:	include/uapi/drm/
 +F:	include/linux/vga*
 +
 +DRM DRIVERS AND MISC GPU PATCHES
 +M:	Daniel Vetter <daniel.vetter@intel.com>
 +M:	Jani Nikula <jani.nikula@linux.intel.com>
 +M:	Sean Paul <seanpaul@chromium.org>
 +W:	https://01.org/linuxgraphics/gfx-docs/maintainer-tools/drm-misc.html
 +S:	Maintained
  T:	git git://anongit.freedesktop.org/drm/drm-misc
 +F:	Documentation/gpu/
 +F:	drivers/gpu/vga/
 +F:	drivers/gpu/drm/*
 +F:	include/drm/drm*
 +F:	include/uapi/drm/drm*
 +F:	include/linux/vga*
  
  DRM DRIVERS FOR ALLWINNER A10
  M:	Maxime Ripard  <maxime.ripard@free-electrons.com>

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2017-07-24  2:06 Stephen Rothwell
  2017-07-24  2:09 ` Stephen Rothwell
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2017-07-24  2:06 UTC (permalink / raw)
  To: Dave Airlie
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List,
	Noralf Trønnes, Randy Dunlap, Linus Torvalds

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  MAINTAINERS

between commit:

  82abbea734d6 ("MAINTAINERS: fix alphabetical ordering")

from Linus' tree and commit:

  3589211e9b03 ("drm/tinydrm: Add RePaper e-ink driver")

from the drm 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 MAINTAINERS
index 55859cdde82a,9387e6aed3b8..000000000000
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@@ -4535,6 -4531,27 +4535,12 @@@ F:	include/linux/host1x.
  F:	include/uapi/drm/tegra_drm.h
  F:	Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt
  
 -DRM DRIVER FOR MATROX G200/G400 GRAPHICS CARDS
 -S:	Orphan / Obsolete
 -F:	drivers/gpu/drm/mga/
 -F:	include/uapi/drm/mga_drm.h
 -
 -DRM DRIVER FOR MGA G200 SERVER GRAPHICS CHIPS
 -M:	Dave Airlie <airlied@redhat.com>
 -S:	Odd Fixes
 -F:	drivers/gpu/drm/mgag200/
 -
+ DRM DRIVER FOR PERVASIVE DISPLAYS REPAPER PANELS
+ M:	Noralf Trønnes <noralf@tronnes.org>
+ S:	Maintained
+ F:	drivers/gpu/drm/tinydrm/repaper.c
+ F:	Documentation/devicetree/bindings/display/repaper.txt
+ 
 -DRM DRIVER FOR RAGE 128 VIDEO CARDS
 -S:	Orphan / Obsolete
 -F:	drivers/gpu/drm/r128/
 -F:	include/uapi/drm/r128_drm.h
 -
  DRM DRIVERS FOR RENESAS
  M:	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  L:	dri-devel@lists.freedesktop.org

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2017-06-05  2:49 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2017-06-05  2:49 UTC (permalink / raw)
  To: Dave Airlie
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Jani Nikula

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/i915/intel_dp.c

between commit:

  8001b7541aa7 ("drm/i915/dp: rename rate_to_index() to intel_dp_rate_index() and reuse")

from Linus' tree and commit:

  3194102439f6 ("drm/i915/dp: use known correct array size in rate_to_index")

from the drm 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_dp.c
index fc691b8b317c,4a6feb6a69bd..000000000000
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@@ -1507,17 -1548,37 +1548,6 @@@ static void intel_dp_print_rates(struc
  	DRM_DEBUG_KMS("common rates: %s\n", str);
  }
  
- static int rate_to_index(int find, const int *rates)
 -bool
 -__intel_dp_read_desc(struct intel_dp *intel_dp, struct intel_dp_desc *desc)
--{
- 	int i = 0;
 -	u32 base = drm_dp_is_branch(intel_dp->dpcd) ? DP_BRANCH_OUI :
 -						      DP_SINK_OUI;
--
- 	for (i = 0; i < DP_MAX_SUPPORTED_RATES; ++i)
- 		if (find == rates[i])
- 			break;
 -	return drm_dp_dpcd_read(&intel_dp->aux, base, desc, sizeof(*desc)) ==
 -	       sizeof(*desc);
 -}
--
- 	return i;
 -bool intel_dp_read_desc(struct intel_dp *intel_dp)
 -{
 -	struct intel_dp_desc *desc = &intel_dp->desc;
 -	bool oui_sup = intel_dp->dpcd[DP_DOWN_STREAM_PORT_COUNT] &
 -		       DP_OUI_SUPPORT;
 -	int dev_id_len;
 -
 -	if (!__intel_dp_read_desc(intel_dp, desc))
 -		return false;
 -
 -	dev_id_len = strnlen(desc->device_id, sizeof(desc->device_id));
 -	DRM_DEBUG_KMS("DP %s: OUI %*phD%s dev-ID %*pE HW-rev %d.%d SW-rev %d.%d\n",
 -		      drm_dp_is_branch(intel_dp->dpcd) ? "branch" : "sink",
 -		      (int)sizeof(desc->oui), desc->oui, oui_sup ? "" : "(NS)",
 -		      dev_id_len, desc->device_id,
 -		      desc->hw_rev >> 4, desc->hw_rev & 0xf,
 -		      desc->sw_major_rev, desc->sw_minor_rev);
 -
 -	return true;
--}
--
  int
  intel_dp_max_link_rate(struct intel_dp *intel_dp)
  {
@@@ -1587,16 -1654,13 +1623,15 @@@ intel_dp_compute_config(struct intel_en
  	/* Conveniently, the link BW constants become indices with a shift...*/
  	int min_clock = 0;
  	int max_clock;
- 	int link_rate_index;
  	int bpp, mode_rate;
  	int link_avail, link_clock;
- 	int common_rates[DP_MAX_SUPPORTED_RATES] = {};
  	int common_len;
  	uint8_t link_bw, rate_select;
 +	bool reduce_m_n = drm_dp_has_quirk(&intel_dp->desc,
 +					   DP_DPCD_QUIRK_LIMITED_M_N);
  
- 	common_len = intel_dp_common_rates(intel_dp, common_rates);
+ 	common_len = intel_dp_common_len_rate_limit(intel_dp,
+ 						    intel_dp->max_link_rate);
  
  	/* No common link rates between source and sink */
  	WARN_ON(common_len <= 0);

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2017-04-05  0:30 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2017-04-05  0:30 UTC (permalink / raw)
  To: Dave Airlie
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Joe Perches,
	Thomas Hellstrom

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/vmwgfx/vmwgfx_fence.c

between commit:

  f7652afa8ead ("drm/vmwgfx: Type-check lookups of fence objects")

from Linus' tree and commit:

  8dfe162ac74f ("gpu: drm: drivers: Convert printk(KERN_<LEVEL> to pr_<level>")

from the drm tree.

I fixed it up (the former moved and updated the code updated by
the latter, so 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

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2017-02-23 23:17 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2017-02-23 23:17 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Jiri Pirko, David S. Miller,
	Chris Wilson, Daniel Vetter

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  lib/Kconfig

between commit:

  44091d29f207 ("lib: Introduce priority array area manager")

from Linus' tree and commit:

  cf4a7207b1cb ("lib: Add a simple prime number generator")

from the drm 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 lib/Kconfig
index f3552604e47a,1788a1f50d28..000000000000
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@@ -550,7 -550,11 +550,14 @@@ config STACKDEPO
  config SBITMAP
  	bool
  
 +config PARMAN
 +	tristate
 +
+ config PRIME_NUMBERS
+ 	tristate "Prime number generator"
+ 	default n
+ 	help
+ 	  Provides a helper module to generate prime numbers. Useful for writing
+ 	  test code, especially when checking multiplication and divison.
+ 
  endmenu

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2016-09-28  1:57 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2016-09-28  1:57 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Daniel Vetter

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/drm_crtc.c

between commit:

  6f00975c6190 ("drm: Reject page_flip for !DRIVER_MODESET")

from Linus' tree and commit:

  43968d7b806d ("drm: Extract drm_plane.[hc]")

from the drm tree.

I fixed it up (the latter takes the former into account, so I just used
the drm 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

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2016-09-20  2:42 Stephen Rothwell
@ 2016-09-20 12:25 ` Philipp Zabel
  0 siblings, 0 replies; 131+ messages in thread
From: Philipp Zabel @ 2016-09-20 12:25 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Dave Airlie, linux-next, linux-kernel, Lucas Stach, Liu Ying

Hi Stephen,

Am Dienstag, den 20.09.2016, 12:42 +1000 schrieb Stephen Rothwell:
> Hi Dave,
> 
> Today's linux-next merge of the drm tree got a conflict in:
> 
>   drivers/gpu/drm/imx/ipuv3-crtc.c
> 
> between commit:
> 
>   a474478642d5 ("drm/imx: fix crtc vblank state regression")
> 
> from Linus' tree and commit:
> 
>   5f4df0c769a9 ("drm/imx: Use DRM_PLANE_COMMIT_NO_DISABLE_AFTER_MODESET flag")
> 
> from the drm 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.

Thank you for the fix. It shouldn't be critical, but I'd put the
drm_crtc_vblank_off last, for symmetry reasons.

regards
Philipp

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2016-09-20  2:42 Stephen Rothwell
  2016-09-20 12:25 ` Philipp Zabel
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2016-09-20  2:42 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Lucas Stach, Philipp Zabel, Liu Ying

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/imx/ipuv3-crtc.c

between commit:

  a474478642d5 ("drm/imx: fix crtc vblank state regression")

from Linus' tree and commit:

  5f4df0c769a9 ("drm/imx: Use DRM_PLANE_COMMIT_NO_DISABLE_AFTER_MODESET flag")

from the drm 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/imx/ipuv3-crtc.c
index 462056e4b9e4,9df29f1cb16a..000000000000
--- a/drivers/gpu/drm/imx/ipuv3-crtc.c
+++ b/drivers/gpu/drm/imx/ipuv3-crtc.c
@@@ -77,7 -77,8 +77,10 @@@ static void ipu_crtc_atomic_disable(str
  	}
  	spin_unlock_irq(&crtc->dev->event_lock);
  
 +	drm_crtc_vblank_off(crtc);
++
+ 	/* always disable planes on the CRTC */
+ 	drm_atomic_helper_disable_planes_on_crtc(old_crtc_state, true);
  }
  
  static void imx_drm_crtc_reset(struct drm_crtc *crtc)

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2016-09-05  3:58 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2016-09-05  3:58 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Christian König, Alex Deucher

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/amd/amdgpu/amdgpu.h

between commit:

  566153874951 ("drm/amdgpu: fix lru size grouping v2")

from Linus' tree and commit:

  c632d7994360 ("amdgpu: move ttm stuff to amdgpu_ttm.h")

from the drm tree.

I fixed it up (the code move was fixed up in another commit, so I just
removed the former change to this file) 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

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2016-09-05  3:51 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2016-09-05  3:51 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Daniel Vetter, Michel Dänzer,
	Alex Deucher

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/drm_crtc.c

between commit:

  6f00975c6190 ("drm: Reject page_flip for !DRIVER_MODESET")

from Linus' tree and commit:

  f837297ad824 ("drm: Add DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE/RELATIVE flags v2")

from the drm 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/drm_crtc.c
index ddebe54cd5ca,a33dab27bb0d..000000000000
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@@ -5402,13 -1915,19 +1915,22 @@@ int drm_mode_page_flip_ioctl(struct drm
  	struct drm_crtc *crtc;
  	struct drm_framebuffer *fb = NULL;
  	struct drm_pending_vblank_event *e = NULL;
+ 	u32 target_vblank = page_flip->sequence;
  	int ret = -EINVAL;
  
 +	if (!drm_core_check_feature(dev, DRIVER_MODESET))
 +		return -EINVAL;
 +
- 	if (page_flip->flags & ~DRM_MODE_PAGE_FLIP_FLAGS ||
- 	    page_flip->reserved != 0)
+ 	if (page_flip->flags & ~DRM_MODE_PAGE_FLIP_FLAGS)
+ 		return -EINVAL;
+ 
+ 	if (page_flip->sequence != 0 && !(page_flip->flags & DRM_MODE_PAGE_FLIP_TARGET))
+ 		return -EINVAL;
+ 
+ 	/* Only one of the DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE/RELATIVE flags
+ 	 * can be specified
+ 	 */
+ 	if ((page_flip->flags & DRM_MODE_PAGE_FLIP_TARGET) == DRM_MODE_PAGE_FLIP_TARGET)
  		return -EINVAL;
  
  	if ((page_flip->flags & DRM_MODE_PAGE_FLIP_ASYNC) && !dev->mode_config.async_page_flip)

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2016-07-29  1:45 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2016-07-29  1:45 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Linus Torvalds, Chris Wilson

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/i915/i915_debugfs.c

between commit:

  194dc870a589 ("Add braces to avoid "ambiguous ‘else’" compiler warnings")

from Linus' tree and commit:

  24f1d3cc0997 ("drm/i915: Refactor execlists default context pinning")

from the drm tree.

I fixed it up (I just used the version from the drm 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

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2016-05-09  1:28 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2016-05-09  1:28 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Flora Cui, Alex Deucher, Christian König

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/ttm/ttm_bo.c

between commit:

  56fc350224f1 ("drm/ttm: fix kref count mess in ttm_bo_move_to_lru_tail")

from Linus' tree and commits:

  c3ea576e0583 ("drm/ttm: add optional LRU removal callback v2")
  98c2872ae99b ("drm/ttm: implement LRU add callbacks v2")

from the drm tree.

I fixed it up (I have no idea how to fix merge these changes, so I just
used the latter ones) 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

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2016-05-09  1:27 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2016-05-09  1:27 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Sonny Jiang, Alex Deucher, Arindam Nath

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c

between commit:

  562e2689baeb ("amdgpu/uvd: add uvd fw version for amdgpu")

from Linus' tree and commit:

  c036554170fc ("drm/amdgpu: handle more than 10 UVD sessions (v2)")

from the drm 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/amd/amdgpu/amdgpu_uvd.c
index 871018c634e0,db86012deb67..000000000000
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
@@@ -158,11 -171,19 +171,22 @@@ int amdgpu_uvd_sw_init(struct amdgpu_de
  	DRM_INFO("Found UVD firmware Version: %hu.%hu Family ID: %hu\n",
  		version_major, version_minor, family_id);
  
 +	adev->uvd.fw_version = ((version_major << 24) | (version_minor << 16) |
 +				(family_id << 8));
 +
+ 	/*
+ 	 * Limit the number of UVD handles depending on microcode major
+ 	 * and minor versions. The firmware version which has 40 UVD
+ 	 * instances support is 1.80. So all subsequent versions should
+ 	 * also have the same support.
+ 	 */
+ 	if ((version_major > 0x01) ||
+ 	    ((version_major == 0x01) && (version_minor >= 0x50)))
+ 		adev->uvd.max_handles = AMDGPU_MAX_UVD_HANDLES;
+ 
  	bo_size = AMDGPU_GPU_PAGE_ALIGN(le32_to_cpu(hdr->ucode_size_bytes) + 8)
- 		 +  AMDGPU_UVD_STACK_SIZE + AMDGPU_UVD_HEAP_SIZE;
+ 		  +  AMDGPU_UVD_STACK_SIZE + AMDGPU_UVD_HEAP_SIZE
+ 		  +  AMDGPU_UVD_SESSION_SIZE * adev->uvd.max_handles;
  	r = amdgpu_bo_create(adev, bo_size, PAGE_SIZE, true,
  			     AMDGPU_GEM_DOMAIN_VRAM,
  			     AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED,

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2016-03-17  0:45 Stephen Rothwell
@ 2016-03-17  1:43 ` Luis R. Rodriguez
  0 siblings, 0 replies; 131+ messages in thread
From: Luis R. Rodriguez @ 2016-03-17  1:43 UTC (permalink / raw)
  To: Stephen Rothwell, Julia Lawall
  Cc: Dave Airlie, linux-next, linux-kernel, Ingo Molnar,
	Arnd Bergmann, Vincent Abriou

Stephen,

thanks a lot for addressing that conflict.

Replying top-style on purpose. In the future such type of conflicts should
be resolvable automatically through a git conflict resolution hook that
would use Coccinelle if present when it detects a patch with Coccinelle SmPL
grammar has been used with no required addendums. Such a tool and
further enhancements (automatic SmPL inference, if a patch did not have
the grammar spelled out in the commit log) are documented here:

http://kernelnewbies.org/KernelProjects/linux-oven

If you want this tomorrow consider funding Julia's R&D more :D

  Luis

On Thu, Mar 17, 2016 at 11:45:16AM +1100, Stephen Rothwell wrote:
> Hi Dave,
> 
> Today's linux-next merge of the drm tree got a conflict in:
> 
>   drivers/gpu/drm/sti/sti_hqvdp.c
> 
> between commit:
> 
>   f6e45661f9be ("dma, mm/pat: Rename dma_*_writecombine() to dma_*_wc()")
> 
> from Linus' tree and commit:
> 
>   52807ae90e76 ("drm/sti: use u32 to store DMA addresses")
> 
> from the drm 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/sti/sti_hqvdp.c
> index 1d3c3d029603,d7c1f427811d..000000000000
> --- a/drivers/gpu/drm/sti/sti_hqvdp.c
> +++ b/drivers/gpu/drm/sti/sti_hqvdp.c
> @@@ -617,9 -852,9 +852,8 @@@ static void sti_hqvdp_init(struct sti_h
>   
>   	/* Allocate memory for the VDP commands */
>   	size = NB_VDP_CMD * sizeof(struct sti_hqvdp_cmd);
> - 	hqvdp->hqvdp_cmd = dma_alloc_wc(hqvdp->dev, size,
> - 					&hqvdp->hqvdp_cmd_paddr,
>  -	hqvdp->hqvdp_cmd = dma_alloc_writecombine(hqvdp->dev, size,
>  -					 &dma_addr,
>  -					 GFP_KERNEL | GFP_DMA);
> ++	hqvdp->hqvdp_cmd = dma_alloc_wc(hqvdp->dev, size, &dma_addr,
>  +					GFP_KERNEL | GFP_DMA);
>   	if (!hqvdp->hqvdp_cmd) {
>   		DRM_ERROR("Failed to allocate memory for VDP cmd\n");
>   		return;
> 

-- 
Luis Rodriguez, SUSE LINUX GmbH
Maxfeldstrasse 5; D-90409 Nuernberg

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2016-03-17  0:45 Stephen Rothwell
  2016-03-17  1:43 ` Luis R. Rodriguez
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2016-03-17  0:45 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Luis R. Rodriguez, Ingo Molnar,
	Arnd Bergmann, Vincent Abriou

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/sti/sti_hqvdp.c

between commit:

  f6e45661f9be ("dma, mm/pat: Rename dma_*_writecombine() to dma_*_wc()")

from Linus' tree and commit:

  52807ae90e76 ("drm/sti: use u32 to store DMA addresses")

from the drm 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/sti/sti_hqvdp.c
index 1d3c3d029603,d7c1f427811d..000000000000
--- a/drivers/gpu/drm/sti/sti_hqvdp.c
+++ b/drivers/gpu/drm/sti/sti_hqvdp.c
@@@ -617,9 -852,9 +852,8 @@@ static void sti_hqvdp_init(struct sti_h
  
  	/* Allocate memory for the VDP commands */
  	size = NB_VDP_CMD * sizeof(struct sti_hqvdp_cmd);
- 	hqvdp->hqvdp_cmd = dma_alloc_wc(hqvdp->dev, size,
- 					&hqvdp->hqvdp_cmd_paddr,
 -	hqvdp->hqvdp_cmd = dma_alloc_writecombine(hqvdp->dev, size,
 -					 &dma_addr,
 -					 GFP_KERNEL | GFP_DMA);
++	hqvdp->hqvdp_cmd = dma_alloc_wc(hqvdp->dev, size, &dma_addr,
 +					GFP_KERNEL | GFP_DMA);
  	if (!hqvdp->hqvdp_cmd) {
  		DRM_ERROR("Failed to allocate memory for VDP cmd\n");
  		return;

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2016-02-29  2:59 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2016-02-29  2:59 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Vitaly Prosyak, Alex Deucher, Mario Kleiner

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/amd/amdgpu/amdgpu_display.c

between commit:

  e1d09dc0ccc6 ("drm/amdgpu: Don't hang in amdgpu_flip_work_func on disabled crtc.")

from Linus' tree and commit:

  6bd9e877ce53 ("drm/amdgpu: Move MMIO flip out of spinlocked region")

from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
index 8297bc319369,2cb53c24dec0..000000000000
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
@@@ -72,13 -70,16 +70,16 @@@ static void amdgpu_flip_work_func(struc
  
  	struct drm_crtc *crtc = &amdgpuCrtc->base;
  	unsigned long flags;
 -	unsigned i;
 -	int vpos, hpos, stat, min_udelay;
 +	unsigned i, repcnt = 4;
 +	int vpos, hpos, stat, min_udelay = 0;
  	struct drm_vblank_crtc *vblank = &crtc->dev->vblank[work->crtc_id];
  
- 	amdgpu_flip_wait_fence(adev, &work->excl);
+ 	if (amdgpu_flip_handle_fence(work, &work->excl))
+ 		return;
+ 
  	for (i = 0; i < work->shared_count; ++i)
- 		amdgpu_flip_wait_fence(adev, &work->shared[i]);
+ 		if (amdgpu_flip_handle_fence(work, &work->shared[i]))
+ 			return;
  
  	/* We borrow the event spin lock for protecting flip_status */
  	spin_lock_irqsave(&crtc->dev->event_lock, flags);
@@@ -123,19 -119,12 +124,19 @@@
  		spin_lock_irqsave(&crtc->dev->event_lock, flags);
  	};
  
 +	if (!repcnt)
 +		DRM_DEBUG_DRIVER("Delay problem on crtc %d: min_udelay %d, "
 +				 "framedur %d, linedur %d, stat %d, vpos %d, "
 +				 "hpos %d\n", work->crtc_id, min_udelay,
 +				 vblank->framedur_ns / 1000,
 +				 vblank->linedur_ns / 1000, stat, vpos, hpos);
 +
- 	/* do the flip (mmio) */
- 	adev->mode_info.funcs->page_flip(adev, work->crtc_id, work->base);
  	/* set the flip status */
  	amdgpuCrtc->pflip_status = AMDGPU_FLIP_SUBMITTED;
- 
  	spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
+ 
+ 	/* Do the flip (mmio) */
+ 	adev->mode_info.funcs->page_flip(adev, work->crtc_id, work->base);
  }
  
  /*

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2015-12-07  3:38 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2015-12-07  3:38 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Archit Taneja, Daniel Vetter,
	Markus Elfring, Philipp Zabel

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/imx/imx-drm-core.c

between commit:

  3f3a7280d4ca ("GPU-DRM-IMX: Delete an unnecessary check before drm_fbdev_cma_restore_mode()")

from Linus' tree and commit:

  c1ff5a7aa3c3 ("drm/imx: Remove local fbdev emulation Kconfig option")

from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/imx/imx-drm-core.c
index 7b990b4e96d2,6faa735376ec..000000000000
--- a/drivers/gpu/drm/imx/imx-drm-core.c
+++ b/drivers/gpu/drm/imx/imx-drm-core.c
@@@ -60,11 -62,10 +62,9 @@@ EXPORT_SYMBOL_GPL(imx_drm_crtc_id)
  
  static void imx_drm_driver_lastclose(struct drm_device *drm)
  {
- #if IS_ENABLED(CONFIG_DRM_IMX_FB_HELPER)
  	struct imx_drm_device *imxdrm = drm->dev_private;
  
 -	if (imxdrm->fbhelper)
 -		drm_fbdev_cma_restore_mode(imxdrm->fbhelper);
 +	drm_fbdev_cma_restore_mode(imxdrm->fbhelper);
- #endif
  }
  
  static int imx_drm_driver_unload(struct drm_device *drm)

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2015-11-01  8:11 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2015-11-01  8:11 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Michel Dänzer, Alex Deucher,
	Christian König

Hi Dave,

Today's linux-next merge of the drm tree got conflicts in:

  drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
  drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
  drivers/gpu/drm/amd/amdgpu/dce_v8_0.c

between commit:

  f6c7aba47bcc ("drm/amdgpu: Keep the pflip interrupts always enabled v7")

from Linus' tree and commit:

  f9fff064bb83 ("drm/amdgpu/dce: simplify suspend/resume")

from the drm tree.

I fixed it up (I just used the versions from the drm tree) and can carry
the fix as necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2015-07-27  1:14 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2015-07-27  1:14 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Daniel Vetter

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/drm_crtc.c

between commit:

  5677d67ae394 ("drm: Stop resetting connector state to unknown")

from Linus' tree and commit:

  6295d607ad34 ("drm: Add modeset object iterators")

from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/drm_crtc.c
index fed748311b92,1f0da41ae2a1..000000000000
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@@ -5398,9 -5273,12 +5273,9 @@@ void drm_mode_config_reset(struct drm_d
  		if (encoder->funcs->reset)
  			encoder->funcs->reset(encoder);
  
- 	list_for_each_entry(connector, &dev->mode_config.connector_list, head)
 -	drm_for_each_connector(connector, dev) {
 -		connector->status = connector_status_unknown;
 -
++	drm_for_each_connector(connector, dev)
  		if (connector->funcs->reset)
  			connector->funcs->reset(connector);
 -	}
  }
  EXPORT_SYMBOL(drm_mode_config_reset);
  

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2015-06-21  3:50 Stephen Rothwell
@ 2015-06-22  7:20 ` Christian König
  0 siblings, 0 replies; 131+ messages in thread
From: Christian König @ 2015-06-22  7:20 UTC (permalink / raw)
  To: Stephen Rothwell, Dave Airlie
  Cc: linux-next, linux-kernel, Marek Olšák,
	Michel Dänzer, Alex Deucher

Hi Stephen & Dave,

indeed RADEON_INFO_VA_UNMAP_WORKING was added to 4.1 to indicate that a 
certain kernel bug is fixed now and we can remove the user space workaround.

And RADEON_INFO_GPU_RESET_COUNTER was stashed to be merged in 4.2 as new 
feature.

Annoying but harmless and Stephen's resolve of the conflict looks valid 
to me.

Regards,
Christian.

On 21.06.2015 05:50, Stephen Rothwell wrote:
> Hi Dave,
>
> Today's linux-next merge of the drm tree got conflicts in:
>
>    drivers/gpu/drm/radeon/radeon_kms.c
>    include/uapi/drm/radeon_drm.h
>
> between commit:
>
>    3bc980bf19bb ("drm/radeon: Add RADEON_INFO_VA_UNMAP_WORKING query")
>
> from Linus' tree and commit:
>
>    72b9076b2887 ("drm/radeon: add a GPU reset counter queryable by userspace")
>
> from the drm tree.
>
> I fixed it up (see below) and can carry the fix as necessary (no action
> is required).
>

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2015-06-21  3:50 Stephen Rothwell
  2015-06-22  7:20 ` Christian König
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2015-06-21  3:50 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Marek Olšák,
	Michel Dänzer, Alex Deucher, Christian König

[-- Attachment #1: Type: text/plain, Size: 1661 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got conflicts in:

  drivers/gpu/drm/radeon/radeon_kms.c
  include/uapi/drm/radeon_drm.h

between commit:

  3bc980bf19bb ("drm/radeon: Add RADEON_INFO_VA_UNMAP_WORKING query")

from Linus' tree and commit:

  72b9076b2887 ("drm/radeon: add a GPU reset counter queryable by userspace")

from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/radeon_kms.c
index b0acf50d9558,9632e886ddc3..000000000000
--- a/drivers/gpu/drm/radeon/radeon_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_kms.c
@@@ -576,8 -576,8 +576,10 @@@ static int radeon_info_ioctl(struct drm
  		if (radeon_get_allowed_info_register(rdev, *value, value))
  			return -EINVAL;
  		break;
 +	case RADEON_INFO_VA_UNMAP_WORKING:
 +		*value = true;
+ 	case RADEON_INFO_GPU_RESET_COUNTER:
+ 		*value = atomic_read(&rdev->gpu_reset_counter);
  		break;
  	default:
  		DRM_DEBUG_KMS("Invalid request %d\n", info->request);
diff --cc include/uapi/drm/radeon_drm.h
index 94d44ab2fda1,573cb86a3d6e..000000000000
--- a/include/uapi/drm/radeon_drm.h
+++ b/include/uapi/drm/radeon_drm.h
@@@ -1038,7 -1038,7 +1038,8 @@@ struct drm_radeon_cs 
  #define RADEON_INFO_CURRENT_GPU_SCLK	0x22
  #define RADEON_INFO_CURRENT_GPU_MCLK	0x23
  #define RADEON_INFO_READ_REG		0x24
 -#define RADEON_INFO_GPU_RESET_COUNTER	0x25
 +#define RADEON_INFO_VA_UNMAP_WORKING	0x25
++#define RADEON_INFO_GPU_RESET_COUNTER	0x26
  
  struct drm_radeon_info {
  	uint32_t		request;

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus'  tree
@ 2015-05-11  3:07 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2015-05-11  3:07 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Mario Kleiner, Daniel Vetter,
	Ville Syrjälä

[-- Attachment #1: Type: text/plain, Size: 629 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in drivers/gpu/drm/drm_irq.c between commit fdb68e09bbb1 ("drm: Zero out invalid vblank timestamp in drm_update_vblank_count") from Linus' tree and commit d66a1e38280c ("drm: Zero out invalid vblank timestamp in drm_update_vblank_count. (v2)") from the drm tree.

I fixed it up (a rebased version of a patch that is already in Linus'
tree :-( - I used the version from the drm tree) and can carry the fix
as necessary (no action is required).



-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2015-04-07  5:22 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2015-04-07  5:22 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Ville Syrjälä,
	Jani Nikula, Daniel Vetter

[-- Attachment #1: Type: text/plain, Size: 532 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/intel_sprite.c between commit 840a1cf0cd53
("drm/i915: Reject the colorkey ioctls for primary and cursor planes")
from Linus' tree and commit a8265c59e22a ("drm/i915: Rip out
GET_SPRITE_COLORKEY ioctl") from the drm tree.

I fixed it up (The latter removed some of the code modified by the
former) and can carry the fix as necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2015-01-29  2:17 Stephen Rothwell
@ 2015-01-29  8:19 ` Oded Gabbay
  0 siblings, 0 replies; 131+ messages in thread
From: Oded Gabbay @ 2015-01-29  8:19 UTC (permalink / raw)
  To: Stephen Rothwell, Dave Airlie; +Cc: linux-next, linux-kernel, Ben Goz



On 01/29/2015 04:17 AM, Stephen Rothwell wrote:
> Hi Dave,
>
> Today's linux-next merge of the drm tree got conflicts in
> drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c and
> drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h between commits
> b8cbab042cd6 ("drm/amdkfd: Allow user to limit only queues per device")
> and 9fa843e76d90 ("drm/amdkfd: Fix bug in call to init_pipelines()")
> from Linus' tree and commits bcea30817574 ("drm/amdkfd: Add SDMA
> user-mode queues support to QCM") and fe502804205e ("drm/amdkfd: Remove
> call to deprecated init_memory interface") from the drm tree.
>
> I fixed it up (hopefully - see below) and can carry the fix as
> necessary (no action is required).
>
Looks fine, thanks!

	Oded

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2015-01-29  2:17 Stephen Rothwell
  2015-01-29  8:19 ` Oded Gabbay
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2015-01-29  2:17 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Oded Gabbay, Ben Goz

[-- Attachment #1: Type: text/plain, Size: 3704 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got conflicts in
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c and
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h between commits
b8cbab042cd6 ("drm/amdkfd: Allow user to limit only queues per device")
and 9fa843e76d90 ("drm/amdkfd: Fix bug in call to init_pipelines()")
from Linus' tree and commits bcea30817574 ("drm/amdkfd: Add SDMA
user-mode queues support to QCM") and fe502804205e ("drm/amdkfd: Remove
call to deprecated init_memory interface") from the drm tree.

I fixed it up (hopefully - see below) and can carry the fix as
necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
index 0d8694f015c1,b189f9791c90..000000000000
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
@@@ -213,15 -161,8 +168,18 @@@ static int create_queue_nocpsch(struct 
  
  	list_add(&q->list, &qpd->queues_list);
  	dqm->queue_count++;
 +
 +	/*
 +	 * Unconditionally increment this counter, regardless of the queue's
 +	 * type or whether the queue is active.
 +	 */
 +	dqm->total_queue_count++;
 +	pr_debug("Total of %d queues are accountable so far\n",
 +			dqm->total_queue_count);
 +
++
+ 	if (q->properties.type == KFD_QUEUE_TYPE_SDMA)
+ 		dqm->sdma_queue_count++;
  	mutex_unlock(&dqm->lock);
  	return 0;
  }
@@@ -588,11 -488,7 +518,7 @@@ static int init_scheduler(struct device
  
  	pr_debug("kfd: In %s\n", __func__);
  
 -	retval = init_pipelines(dqm, get_pipes_num(dqm), KFD_DQM_FIRST_PIPE);
 +	retval = init_pipelines(dqm, get_pipes_num(dqm), get_first_pipe(dqm));
- 	if (retval != 0)
- 		return retval;
- 
- 	retval = init_memory(dqm);
  
  	return retval;
  }
@@@ -843,14 -793,12 +845,19 @@@ static int create_queue_cpsch(struct de
  
  	mutex_lock(&dqm->lock);
  
 +	if (dqm->total_queue_count >= max_num_of_queues_per_device) {
 +		pr_warn("amdkfd: Can't create new usermode queue because %d queues were already created\n",
 +				dqm->total_queue_count);
 +		retval = -EPERM;
 +		goto out;
 +	}
 +
- 	mqd = dqm->get_mqd_manager(dqm, KFD_MQD_TYPE_CIK_CP);
+ 	if (q->properties.type == KFD_QUEUE_TYPE_SDMA)
+ 		select_sdma_engine_id(q);
+ 
+ 	mqd = dqm->ops.get_mqd_manager(dqm,
+ 			get_mqd_type_from_queue_type(q->properties.type));
+ 
  	if (mqd == NULL) {
  		mutex_unlock(&dqm->lock);
  		return -ENOMEM;
@@@ -867,15 -815,9 +874,18 @@@
  		retval = execute_queues_cpsch(dqm, false);
  	}
  
 +	/*
 +	 * Unconditionally increment this counter, regardless of the queue's
 +	 * type or whether the queue is active.
 +	 */
 +	dqm->total_queue_count++;
 +
 +	pr_debug("Total of %d queues are accountable so far\n",
 +			dqm->total_queue_count);
 +
+ 	if (q->properties.type == KFD_QUEUE_TYPE_SDMA)
+ 			dqm->sdma_queue_count++;
+ 
  out:
  	mutex_unlock(&dqm->lock);
  	return retval;
diff --cc drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h
index 52035bf0c1cb,e7b17b28330e..000000000000
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h
@@@ -130,9 -143,10 +143,11 @@@ struct device_queue_manager 
  	struct list_head	queues;
  	unsigned int		processes_count;
  	unsigned int		queue_count;
 +	unsigned int		total_queue_count;
+ 	unsigned int		sdma_queue_count;
  	unsigned int		next_pipe_to_allocate;
  	unsigned int		*allocated_queues;
+ 	unsigned int		sdma_bitmap;
  	unsigned int		vmid_bitmap;
  	uint64_t		pipelines_addr;
  	struct kfd_mem_obj	*pipeline_mem;

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2015-01-22  2:31 ` Dave Airlie
@ 2015-01-22  2:57   ` Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2015-01-22  2:57 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Ben Goz, Oded Gabbay

[-- Attachment #1: Type: text/plain, Size: 401 bytes --]

Hi Dave,

On Thu, 22 Jan 2015 02:31:06 +0000 (GMT) Dave Airlie <airlied@linux.ie> wrote:
>
> btw I pushed a drm-next with all these fixed in it a little while ago
> 
> we must be racing!

Yeah, I tend to collect all the trees first thing in the morning
(around 9 - 10 am my time) and then spend the day merging them.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2015-01-22  2:22 Stephen Rothwell
@ 2015-01-22  2:31 ` Dave Airlie
  2015-01-22  2:57   ` Stephen Rothwell
  0 siblings, 1 reply; 131+ messages in thread
From: Dave Airlie @ 2015-01-22  2:31 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linux-next, linux-kernel, Ben Goz, Oded Gabbay


> Hi Dave,
> 
> Today's linux-next merge of the drm tree got a conflict in
> drivers/gpu/drm/radeon/radeon_kfd.c between commit b64b8afcca9d
> ("drm/amd: Fixing typos in kfd<->kgd interface") from Linus'  tree and
> commit a84a9903b588 ("drm/radeon: Implement SDMA interface functions")
> from the drm tree.

btw I pushed a drm-next with all these fixed in it a little while ago

we must be racing!
Dave.

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus'  tree
@ 2015-01-22  2:22 Stephen Rothwell
  2015-01-22  2:31 ` Dave Airlie
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2015-01-22  2:22 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Ben Goz, Oded Gabbay

[-- Attachment #1: Type: text/plain, Size: 2983 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/radeon/radeon_kfd.c between commit b64b8afcca9d
("drm/amd: Fixing typos in kfd<->kgd interface") from Linus'  tree and
commit a84a9903b588 ("drm/radeon: Implement SDMA interface functions")
from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/radeon_kfd.c
index 8bf87f1203cc,cae11eefecf0..000000000000
--- a/drivers/gpu/drm/radeon/radeon_kfd.c
+++ b/drivers/gpu/drm/radeon/radeon_kfd.c
@@@ -71,8 -70,8 +70,8 @@@ static int kgd_init_pipeline(struct kgd
  
  static int kgd_hqd_load(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
  			uint32_t queue_id, uint32_t __user *wptr);
- 
+ static int kgd_hqd_sdma_load(struct kgd_dev *kgd, void *mqd);
 -static bool kgd_hqd_is_occupies(struct kgd_dev *kgd, uint64_t queue_address,
 +static bool kgd_hqd_is_occupied(struct kgd_dev *kgd, uint64_t queue_address,
  				uint32_t pipe_id, uint32_t queue_id);
  
  static int kgd_hqd_destroy(struct kgd_dev *kgd, uint32_t reset_type,
@@@ -92,8 -92,11 +92,11 @@@ static const struct kfd2kgd_calls kfd2k
  	.init_memory = kgd_init_memory,
  	.init_pipeline = kgd_init_pipeline,
  	.hqd_load = kgd_hqd_load,
+ 	.hqd_sdma_load = kgd_hqd_sdma_load,
 -	.hqd_is_occupies = kgd_hqd_is_occupies,
 +	.hqd_is_occupied = kgd_hqd_is_occupied,
+ 	.hqd_sdma_is_occupied = kgd_hqd_sdma_is_occupied,
  	.hqd_destroy = kgd_hqd_destroy,
+ 	.hqd_sdma_destroy = kgd_hqd_sdma_destroy,
  	.get_fw_version = get_fw_version
  };
  
@@@ -533,7 -528,46 +544,46 @@@ static int kgd_hqd_load(struct kgd_dev 
  	return 0;
  }
  
+ static int kgd_hqd_sdma_load(struct kgd_dev *kgd, void *mqd)
+ {
+ 	struct cik_sdma_rlc_registers *m;
+ 	uint32_t sdma_base_addr;
+ 
+ 	m = get_sdma_mqd(mqd);
+ 	sdma_base_addr = get_sdma_base_addr(m);
+ 
+ 	write_register(kgd,
+ 			sdma_base_addr + SDMA0_RLC0_VIRTUAL_ADDR,
+ 			m->sdma_rlc_virtual_addr);
+ 
+ 	write_register(kgd,
+ 			sdma_base_addr + SDMA0_RLC0_RB_BASE,
+ 			m->sdma_rlc_rb_base);
+ 
+ 	write_register(kgd,
+ 			sdma_base_addr + SDMA0_RLC0_RB_BASE_HI,
+ 			m->sdma_rlc_rb_base_hi);
+ 
+ 	write_register(kgd,
+ 			sdma_base_addr + SDMA0_RLC0_RB_RPTR_ADDR_LO,
+ 			m->sdma_rlc_rb_rptr_addr_lo);
+ 
+ 	write_register(kgd,
+ 			sdma_base_addr + SDMA0_RLC0_RB_RPTR_ADDR_HI,
+ 			m->sdma_rlc_rb_rptr_addr_hi);
+ 
+ 	write_register(kgd,
+ 			sdma_base_addr + SDMA0_RLC0_DOORBELL,
+ 			m->sdma_rlc_doorbell);
+ 
+ 	write_register(kgd,
+ 			sdma_base_addr + SDMA0_RLC0_RB_CNTL,
+ 			m->sdma_rlc_rb_cntl);
+ 
+ 	return 0;
+ }
+ 
 -static bool kgd_hqd_is_occupies(struct kgd_dev *kgd, uint64_t queue_address,
 +static bool kgd_hqd_is_occupied(struct kgd_dev *kgd, uint64_t queue_address,
  				uint32_t pipe_id, uint32_t queue_id)
  {
  	uint32_t act;

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus'  tree
@ 2015-01-22  2:18 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2015-01-22  2:18 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Ben Goz, Oded Gabbay

[-- Attachment #1: Type: text/plain, Size: 1195 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/amd/include/kgd_kfd_interface.h between commit
b64b8afcca9d ("drm/amd: Fixing typos in kfd<->kgd interface") from
Linus' tree and commit 85ea7d07e1ec ("drm/amd: Add SDMA functions to
kfd-->kgd interface") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/amd/include/kgd_kfd_interface.h
index 96a512208fad,cd3878fe6f77..000000000000
--- a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h
+++ b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h
@@@ -183,7 -182,9 +182,9 @@@ struct kfd2kgd_calls 
  	int (*hqd_load)(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
  			uint32_t queue_id, uint32_t __user *wptr);
  
+ 	int (*hqd_sdma_load)(struct kgd_dev *kgd, void *mqd);
+ 
 -	bool (*hqd_is_occupies)(struct kgd_dev *kgd, uint64_t queue_address,
 +	bool (*hqd_is_occupied)(struct kgd_dev *kgd, uint64_t queue_address,
  				uint32_t pipe_id, uint32_t queue_id);
  
  	int (*hqd_destroy)(struct kgd_dev *kgd, uint32_t reset_type,

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2015-01-22  2:15 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2015-01-22  2:15 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Michel Dänzer, Oded Gabbay

[-- Attachment #1: Type: text/plain, Size: 1255 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/amd/amdkfd/kfd_priv.h between commit 6ee0ad2a7f27
("drm/amdkfd: Drop interrupt SW ring buffer") from Linus' tree and
commit 36b5c08f099a ("drm/amdkfd: Add gtt sa related data to kfd_dev
struct") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/amd/amdkfd/kfd_priv.h
index b3dc13c83169,a79c21781d3b..000000000000
--- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
@@@ -135,6 -143,21 +143,14 @@@ struct kfd_dev 
  
  	struct kgd2kfd_shared_resources shared_resources;
  
+ 	void *gtt_mem;
+ 	uint64_t gtt_start_gpu_addr;
+ 	void *gtt_start_cpu_ptr;
+ 	void *gtt_sa_bitmap;
+ 	struct mutex gtt_sa_lock;
+ 	unsigned int gtt_sa_chunk_size;
+ 	unsigned int gtt_sa_num_of_chunks;
+ 
 -	void *interrupt_ring;
 -	size_t interrupt_ring_size;
 -	atomic_t interrupt_ring_rptr;
 -	atomic_t interrupt_ring_wptr;
 -	struct work_struct interrupt_work;
 -	spinlock_t interrupt_lock;
 -
  	/* QCM Device instance */
  	struct device_queue_manager *dqm;
  

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2014-12-05  4:46 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2014-12-05  4:46 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Christian König, Alex Deucher

[-- Attachment #1: Type: text/plain, Size: 1525 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/radeon/radeon_cs.c between commit 86b276385c6a
("drm/radeon: sync all BOs involved in a CS v2") from Linus' tree and
commit 975700d2cc84 ("drm/radeon: split semaphore and sync object
handling v2") from the drm tree.

I fixed it up (I think - see below) and can carry the fix as necessary
(no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/radeon_cs.c
index 6f377de099f9,75f22e5e999f..000000000000
--- a/drivers/gpu/drm/radeon/radeon_cs.c
+++ b/drivers/gpu/drm/radeon/radeon_cs.c
@@@ -251,19 -251,22 +251,20 @@@ static int radeon_cs_get_ring(struct ra
  
  static int radeon_cs_sync_rings(struct radeon_cs_parser *p)
  {
 -	int i, r = 0;
 +	struct radeon_cs_reloc *reloc;
 +	int r;
  
 -	for (i = 0; i < p->nrelocs; i++) {
 +	list_for_each_entry(reloc, &p->validated, tv.head) {
  		struct reservation_object *resv;
  
 -		if (!p->relocs[i].robj)
 -			continue;
 -
 -		resv = p->relocs[i].robj->tbo.resv;
 +		resv = reloc->robj->tbo.resv;
- 		r = radeon_semaphore_sync_resv(p->rdev, p->ib.semaphore, resv,
- 					       reloc->tv.shared);
+ 		r = radeon_sync_resv(p->rdev, &p->ib.sync, resv,
 -				     p->relocs[i].tv.shared);
++				     reloc->tv.shared);
+ 
  		if (r)
 -			break;
 +			return r;
  	}
 -	return r;
 +	return 0;
  }
  
  /* XXX: note that this is called from the legacy UMS CS ioctl as well */

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2014-12-05  4:39 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2014-12-05  4:39 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Ben Skeggs

[-- Attachment #1: Type: text/plain, Size: 4773 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/nouveau/nouveau_drm.c between commit 8b62c8c6df08
("nouveau: move the hotplug ignore to correct place") from Linus' tree
and commit 7bb6d4428d3d ("drm/nouveau: move the (far too many...)
different s/r paths to the same place") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/nouveau/nouveau_drm.c
index 62b97c4eef8d,afb93bb72f97..000000000000
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@@ -667,7 -647,30 +647,29 @@@ nouveau_do_resume(struct drm_device *de
  	return 0;
  }
  
- int nouveau_pmops_resume(struct device *dev)
+ int
+ nouveau_pmops_suspend(struct device *dev)
+ {
+ 	struct pci_dev *pdev = to_pci_dev(dev);
+ 	struct drm_device *drm_dev = pci_get_drvdata(pdev);
+ 	int ret;
+ 
+ 	if (drm_dev->switch_power_state == DRM_SWITCH_POWER_OFF ||
+ 	    drm_dev->switch_power_state == DRM_SWITCH_POWER_DYNAMIC_OFF)
+ 		return 0;
+ 
+ 	ret = nouveau_do_suspend(drm_dev, false);
+ 	if (ret)
+ 		return ret;
+ 
+ 	pci_save_state(pdev);
+ 	pci_disable_device(pdev);
 -	pci_ignore_hotplug(pdev);
+ 	pci_set_power_state(pdev, PCI_D3hot);
+ 	return 0;
+ }
+ 
+ int
+ nouveau_pmops_resume(struct device *dev)
  {
  	struct pci_dev *pdev = to_pci_dev(dev);
  	struct drm_device *drm_dev = pci_get_drvdata(pdev);
@@@ -701,6 -706,105 +705,106 @@@ nouveau_pmops_thaw(struct device *dev
  	return nouveau_do_resume(drm_dev, false);
  }
  
+ static int
+ nouveau_pmops_runtime_suspend(struct device *dev)
+ {
+ 	struct pci_dev *pdev = to_pci_dev(dev);
+ 	struct drm_device *drm_dev = pci_get_drvdata(pdev);
+ 	int ret;
+ 
+ 	if (nouveau_runtime_pm == 0) {
+ 		pm_runtime_forbid(dev);
+ 		return -EBUSY;
+ 	}
+ 
+ 	/* are we optimus enabled? */
+ 	if (nouveau_runtime_pm == -1 && !nouveau_is_optimus() && !nouveau_is_v1_dsm()) {
+ 		DRM_DEBUG_DRIVER("failing to power off - not optimus\n");
+ 		pm_runtime_forbid(dev);
+ 		return -EBUSY;
+ 	}
+ 
+ 	nv_debug_level(SILENT);
+ 	drm_kms_helper_poll_disable(drm_dev);
+ 	vga_switcheroo_set_dynamic_switch(pdev, VGA_SWITCHEROO_OFF);
+ 	nouveau_switcheroo_optimus_dsm();
+ 	ret = nouveau_do_suspend(drm_dev, true);
+ 	pci_save_state(pdev);
+ 	pci_disable_device(pdev);
++	pci_ignore_hotplug(pdev);
+ 	pci_set_power_state(pdev, PCI_D3cold);
+ 	drm_dev->switch_power_state = DRM_SWITCH_POWER_DYNAMIC_OFF;
+ 	return ret;
+ }
+ 
+ static int
+ nouveau_pmops_runtime_resume(struct device *dev)
+ {
+ 	struct pci_dev *pdev = to_pci_dev(dev);
+ 	struct drm_device *drm_dev = pci_get_drvdata(pdev);
+ 	struct nvif_device *device = &nouveau_drm(drm_dev)->device;
+ 	int ret;
+ 
+ 	if (nouveau_runtime_pm == 0)
+ 		return -EINVAL;
+ 
+ 	pci_set_power_state(pdev, PCI_D0);
+ 	pci_restore_state(pdev);
+ 	ret = pci_enable_device(pdev);
+ 	if (ret)
+ 		return ret;
+ 	pci_set_master(pdev);
+ 
+ 	ret = nouveau_do_resume(drm_dev, true);
+ 	drm_kms_helper_poll_enable(drm_dev);
+ 	/* do magic */
+ 	nvif_mask(device, 0x88488, (1 << 25), (1 << 25));
+ 	vga_switcheroo_set_dynamic_switch(pdev, VGA_SWITCHEROO_ON);
+ 	drm_dev->switch_power_state = DRM_SWITCH_POWER_ON;
+ 	nv_debug_level(NORMAL);
+ 	return ret;
+ }
+ 
+ static int
+ nouveau_pmops_runtime_idle(struct device *dev)
+ {
+ 	struct pci_dev *pdev = to_pci_dev(dev);
+ 	struct drm_device *drm_dev = pci_get_drvdata(pdev);
+ 	struct nouveau_drm *drm = nouveau_drm(drm_dev);
+ 	struct drm_crtc *crtc;
+ 
+ 	if (nouveau_runtime_pm == 0) {
+ 		pm_runtime_forbid(dev);
+ 		return -EBUSY;
+ 	}
+ 
+ 	/* are we optimus enabled? */
+ 	if (nouveau_runtime_pm == -1 && !nouveau_is_optimus() && !nouveau_is_v1_dsm()) {
+ 		DRM_DEBUG_DRIVER("failing to power off - not optimus\n");
+ 		pm_runtime_forbid(dev);
+ 		return -EBUSY;
+ 	}
+ 
+ 	/* if we have a hdmi audio device - make sure it has a driver loaded */
+ 	if (drm->hdmi_device) {
+ 		if (!drm->hdmi_device->driver) {
+ 			DRM_DEBUG_DRIVER("failing to power off - no HDMI audio driver loaded\n");
+ 			pm_runtime_mark_last_busy(dev);
+ 			return -EBUSY;
+ 		}
+ 	}
+ 
+ 	list_for_each_entry(crtc, &drm->dev->mode_config.crtc_list, head) {
+ 		if (crtc->enabled) {
+ 			DRM_DEBUG_DRIVER("failing to power off - crtc active\n");
+ 			return -EBUSY;
+ 		}
+ 	}
+ 	pm_runtime_mark_last_busy(dev);
+ 	pm_runtime_autosuspend(dev);
+ 	/* we don't want the main rpm_idle to call suspend - we want to autosuspend */
+ 	return 1;
+ }
  
  static int
  nouveau_drm_open(struct drm_device *dev, struct drm_file *fpriv)

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2014-11-17  3:11 Stephen Rothwell
@ 2014-11-17  9:47 ` Thierry Reding
  0 siblings, 0 replies; 131+ messages in thread
From: Thierry Reding @ 2014-11-17  9:47 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Dave Airlie, linux-next, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1753 bytes --]

On Mon, Nov 17, 2014 at 02:11:58PM +1100, Stephen Rothwell wrote:
> * PGP Signed by an unknown key
> 
> Hi Dave,
> 
> Today's linux-next merge of the drm tree got a conflict in
> drivers/gpu/drm/tegra/dc.c between commit 8ff64c17f3be ("drm/tegra: dc:
> Add missing call to drm_vblank_on()") from Linus' tree and commits
> 205d48edee84 ("drm/tegra: dc: Factor out DC, window and cursor commit")
> and c7679306a923 ("drm/tegra: dc: Universal plane support") from the
> drm tree.
> 
> I fixed it up (see below) and can carry the fix as necessary (no action
> is required).
> 
> -- 
> Cheers,
> Stephen Rothwell                    sfr@canb.auug.org.au
> 
> diff --cc drivers/gpu/drm/tegra/dc.c
> index 054a79f143ae,b957908aec73..000000000000
> --- a/drivers/gpu/drm/tegra/dc.c
> +++ b/drivers/gpu/drm/tegra/dc.c
> @@@ -751,7 -906,8 +906,8 @@@ static void tegra_crtc_disable(struct d
>   		}
>   	}
>   
>  -	drm_vblank_off(drm, dc->pipe);
>  +	drm_crtc_vblank_off(crtc);
> + 	tegra_dc_commit(dc);
>   }
>   
>   static bool tegra_crtc_mode_fixup(struct drm_crtc *crtc,
> @@@ -934,15 -1090,9 +1090,9 @@@ static void tegra_crtc_prepare(struct d
>   static void tegra_crtc_commit(struct drm_crtc *crtc)
>   {
>   	struct tegra_dc *dc = to_tegra_dc(crtc);
> - 	unsigned long value;
> - 
> - 	value = GENERAL_UPDATE | WIN_A_UPDATE;
> - 	tegra_dc_writel(dc, value, DC_CMD_STATE_CONTROL);
> - 
> - 	value = GENERAL_ACT_REQ | WIN_A_ACT_REQ;
> - 	tegra_dc_writel(dc, value, DC_CMD_STATE_CONTROL);
>   
>  -	drm_vblank_post_modeset(crtc->dev, dc->pipe);
>  +	drm_crtc_vblank_on(crtc);
> + 	tegra_dc_commit(dc);
>   }
>   
>   static void tegra_crtc_load_lut(struct drm_crtc *crtc)

Looks good.

Thanks,
Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2014-11-17  3:11 Stephen Rothwell
  2014-11-17  9:47 ` Thierry Reding
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2014-11-17  3:11 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Thierry Reding

[-- Attachment #1: Type: text/plain, Size: 1517 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/tegra/dc.c between commit 8ff64c17f3be ("drm/tegra: dc:
Add missing call to drm_vblank_on()") from Linus' tree and commits
205d48edee84 ("drm/tegra: dc: Factor out DC, window and cursor commit")
and c7679306a923 ("drm/tegra: dc: Universal plane support") from the
drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/tegra/dc.c
index 054a79f143ae,b957908aec73..000000000000
--- a/drivers/gpu/drm/tegra/dc.c
+++ b/drivers/gpu/drm/tegra/dc.c
@@@ -751,7 -906,8 +906,8 @@@ static void tegra_crtc_disable(struct d
  		}
  	}
  
 -	drm_vblank_off(drm, dc->pipe);
 +	drm_crtc_vblank_off(crtc);
+ 	tegra_dc_commit(dc);
  }
  
  static bool tegra_crtc_mode_fixup(struct drm_crtc *crtc,
@@@ -934,15 -1090,9 +1090,9 @@@ static void tegra_crtc_prepare(struct d
  static void tegra_crtc_commit(struct drm_crtc *crtc)
  {
  	struct tegra_dc *dc = to_tegra_dc(crtc);
- 	unsigned long value;
- 
- 	value = GENERAL_UPDATE | WIN_A_UPDATE;
- 	tegra_dc_writel(dc, value, DC_CMD_STATE_CONTROL);
- 
- 	value = GENERAL_ACT_REQ | WIN_A_ACT_REQ;
- 	tegra_dc_writel(dc, value, DC_CMD_STATE_CONTROL);
  
 -	drm_vblank_post_modeset(crtc->dev, dc->pipe);
 +	drm_crtc_vblank_on(crtc);
+ 	tegra_dc_commit(dc);
  }
  
  static void tegra_crtc_load_lut(struct drm_crtc *crtc)

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2014-06-05  3:59 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2014-06-05  3:59 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Zhao Yakui, Daniel Vetter,
	Chris Wilson, Jani Nikula

[-- Attachment #1: Type: text/plain, Size: 3695 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/i915_gem_execbuffer.c between commit d23db88c3ab2
("drm/i915: Prevent negative relocation deltas from wrapping") from
Linus' tree and commit a8ebba75b358 ("drm/i915: Use the coarse
ping-pong mechanism based on drm fd to dispatch the BSD command on BDW
GT3") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/i915/i915_gem_execbuffer.c
index 20fef6c50267,008e208e9a3a..000000000000
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@@ -597,38 -595,8 +600,38 @@@ i915_gem_execbuffer_reserve_vma(struct 
  	return 0;
  }
  
 +static bool
 +eb_vma_misplaced(struct i915_vma *vma, bool has_fenced_gpu_access)
 +{
 +	struct drm_i915_gem_exec_object2 *entry = vma->exec_entry;
 +	struct drm_i915_gem_object *obj = vma->obj;
 +	bool need_fence, need_mappable;
 +
 +	need_fence =
 +		has_fenced_gpu_access &&
 +		entry->flags & EXEC_OBJECT_NEEDS_FENCE &&
 +		obj->tiling_mode != I915_TILING_NONE;
 +	need_mappable = need_fence || need_reloc_mappable(vma);
 +
 +	WARN_ON((need_mappable || need_fence) &&
 +	       !i915_is_ggtt(vma->vm));
 +
 +	if (entry->alignment &&
 +	    vma->node.start & (entry->alignment - 1))
 +		return true;
 +
 +	if (need_mappable && !obj->map_and_fenceable)
 +		return true;
 +
 +	if (entry->flags & __EXEC_OBJECT_NEEDS_BIAS &&
 +	    vma->node.start < BATCH_OFFSET_BIAS)
 +		return true;
 +
 +	return false;
 +}
 +
  static int
- i915_gem_execbuffer_reserve(struct intel_ring_buffer *ring,
+ i915_gem_execbuffer_reserve(struct intel_engine_cs *ring,
  			    struct list_head *vmas,
  			    bool *need_relocs)
  {
@@@ -1018,25 -1009,37 +1028,56 @@@ i915_reset_gen7_sol_offsets(struct drm_
  	return 0;
  }
  
 +static struct drm_i915_gem_object *
 +eb_get_batch(struct eb_vmas *eb)
 +{
 +	struct i915_vma *vma = list_entry(eb->vmas.prev, typeof(*vma), exec_list);
 +
 +	/*
 +	 * SNA is doing fancy tricks with compressing batch buffers, which leads
 +	 * to negative relocation deltas. Usually that works out ok since the
 +	 * relocate address is still positive, except when the batch is placed
 +	 * very low in the GTT. Ensure this doesn't happen.
 +	 *
 +	 * Note that actual hangs have only been observed on gen7, but for
 +	 * paranoia do it everywhere.
 +	 */
 +	vma->exec_entry->flags |= __EXEC_OBJECT_NEEDS_BIAS;
 +
 +	return vma->obj;
 +}
 +
+ /**
+  * Find one BSD ring to dispatch the corresponding BSD command.
+  * The Ring ID is returned.
+  */
+ static int gen8_dispatch_bsd_ring(struct drm_device *dev,
+ 				  struct drm_file *file)
+ {
+ 	struct drm_i915_private *dev_priv = dev->dev_private;
+ 	struct drm_i915_file_private *file_priv = file->driver_priv;
+ 
+ 	/* Check whether the file_priv is using one ring */
+ 	if (file_priv->bsd_ring)
+ 		return file_priv->bsd_ring->id;
+ 	else {
+ 		/* If no, use the ping-pong mechanism to select one ring */
+ 		int ring_id;
+ 
+ 		mutex_lock(&dev->struct_mutex);
+ 		if (dev_priv->mm.bsd_ring_dispatch_index == 0) {
+ 			ring_id = VCS;
+ 			dev_priv->mm.bsd_ring_dispatch_index = 1;
+ 		} else {
+ 			ring_id = VCS2;
+ 			dev_priv->mm.bsd_ring_dispatch_index = 0;
+ 		}
+ 		file_priv->bsd_ring = &dev_priv->ring[ring_id];
+ 		mutex_unlock(&dev->struct_mutex);
+ 		return ring_id;
+ 	}
+ }
+ 
  static int
  i915_gem_do_execbuffer(struct drm_device *dev, void *data,
  		       struct drm_file *file,

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2014-06-05  3:54 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2014-06-05  3:54 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Sergei Antonov, Daniel Vetter, Rob Clark

[-- Attachment #1: Type: text/plain, Size: 1527 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/drm_crtc_helper.c between commit ba6f58260665
("drm/crtc-helper: skip locking checks in panicking path") from Linus'
tree and commits 6e9f798d91c5 ("drm: Split connection_mutex out of
mode_config.mutex (v3)") and 51fd371bbaf9 ("drm: convert crtc and
connection_mutex to ww_mutex (v5)") from the drm tree.

I fixed it up (not sure if entirely correctly - see below) and can
carry the fix as necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/drm_crtc_helper.c
index 872ba11c4533,eb1c062e04b2..000000000000
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@@ -89,13 -88,8 +89,14 @@@ bool drm_helper_encoder_in_use(struct d
  	struct drm_connector *connector;
  	struct drm_device *dev = encoder->dev;
  
 -	WARN_ON(!mutex_is_locked(&dev->mode_config.mutex));
 -	WARN_ON(!drm_modeset_is_locked(&dev->mode_config.connection_mutex));
 +	/*
 +	 * We can expect this mutex to be locked if we are not panicking.
 +	 * Locking is currently fubar in the panic handler.
 +	 */
- 	if (!oops_in_progress)
++	if (!oops_in_progress) {
 +		WARN_ON(!mutex_is_locked(&dev->mode_config.mutex));
- 
++		WARN_ON(!drm_modeset_is_locked(&dev->mode_config.connection_mutex));
++	}
  	list_for_each_entry(connector, &dev->mode_config.connector_list, head)
  		if (connector->encoder == encoder)
  			return true;


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2014-03-31  2:54 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2014-03-31  2:54 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Daniel Vetter, Ben Widawsky

[-- Attachment #1: Type: text/plain, Size: 1118 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/i915_gem_gtt.c between commit 8ee661b50561
("drm/i915: Undo gtt scratch pte unmapping again") from Linus' tree and
commit 782f149523d3 ("drm/i915: Make clear/insert vfuncs args absolute")
from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/i915/i915_gem_gtt.c
index d278be110805,63a6dc7a6bb6..000000000000
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@@ -840,9 -1337,9 +1337,9 @@@ void i915_gem_suspend_gtt_mappings(stru
  	i915_check_and_clear_faults(dev);
  
  	dev_priv->gtt.base.clear_range(&dev_priv->gtt.base,
- 				       dev_priv->gtt.base.start / PAGE_SIZE,
- 				       dev_priv->gtt.base.total / PAGE_SIZE,
+ 				       dev_priv->gtt.base.start,
+ 				       dev_priv->gtt.base.total,
 -				       false);
 +				       true);
  }
  
  void i915_gem_restore_gtt_mappings(struct drm_device *dev)

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2014-03-24  2:01 Stephen Rothwell
@ 2014-03-24  8:49 ` Jani Nikula
  0 siblings, 0 replies; 131+ messages in thread
From: Jani Nikula @ 2014-03-24  8:49 UTC (permalink / raw)
  To: Stephen Rothwell, Dave Airlie
  Cc: linux-next, linux-kernel, Daniel Vetter, Paulo Zanoni

On Mon, 24 Mar 2014, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> Hi Dave,
>
> Today's linux-next merge of the drm tree got conflicts in
> drivers/gpu/drm/i915/intel_ddi.c and
> drivers/gpu/drm/i915/intel_dp.c between commit 825938307f81 ("Revert
> "drm/i915: don't touch the VDD when disabling the panel"") from Linus'
> tree and commits 4be7378004a0 ("drm/i915: drop ironlake_ prefix from edp
> panel/backlight functions"), dce56b3c626f ("drm/i915: save some time when
> waiting the eDP timings") and b3064154dfd3 ("drm/i915: Don't just say it,
> actually force edp vdd") from the drm tree.
>
> This latter commit in the drm tree seems to be solving the same problem
> as the one in Linus' tree (but slightly differently), so I just
> effectively dropped the patch from Linus' tree and can carry the fix as
> necessary (no action is required).

Ack. We took the long route in our -next to come to the conclusion that
a revert is the way to go, and that was then queued for 3.14.

Thanks,
Jani.


-- 
Jani Nikula, Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2014-03-24  2:01 Stephen Rothwell
  2014-03-24  8:49 ` Jani Nikula
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2014-03-24  2:01 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Jani Nikula, Daniel Vetter, Paulo Zanoni

[-- Attachment #1: Type: text/plain, Size: 843 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got conflicts in
drivers/gpu/drm/i915/intel_ddi.c and
drivers/gpu/drm/i915/intel_dp.c between commit 825938307f81 ("Revert
"drm/i915: don't touch the VDD when disabling the panel"") from Linus'
tree and commits 4be7378004a0 ("drm/i915: drop ironlake_ prefix from edp
panel/backlight functions"), dce56b3c626f ("drm/i915: save some time when
waiting the eDP timings") and b3064154dfd3 ("drm/i915: Don't just say it,
actually force edp vdd") from the drm tree.

This latter commit in the drm tree seems to be solving the same problem
as the one in Linus' tree (but slightly differently), so I just
effectively dropped the patch from Linus' tree and can carry the fix as
necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2013-12-19  2:09 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2013-12-19  2:09 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Daniel Vetter, Greg KH, Russell King

[-- Attachment #1: Type: text/plain, Size: 1217 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/staging/imx-drm/imx-drm-core.c between commit 8007875f0619
("imx-drm: imx-drm-core: fix DRM cleanup paths") from Linus' tree and
commit 9076dccfc532 ("drm/imx: directly call drm_put_dev in ->remove")
from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/staging/imx-drm/imx-drm-core.c
index 96e4eee344ef,0507b662ae40..000000000000
--- a/drivers/staging/imx-drm/imx-drm-core.c
+++ b/drivers/staging/imx-drm/imx-drm-core.c
@@@ -443,19 -441,14 +443,21 @@@ static int imx_drm_driver_load(struct d
  	 */
  	imxdrm->drm->vblank_disable_allowed = true;
  
 -	if (!imx_drm_device_get())
 +	if (!imx_drm_device_get()) {
  		ret = -EINVAL;
 +		goto err_vblank;
 +	}
  
+ 	platform_set_drvdata(drm->platformdev, drm);
+ 
 -	ret = 0;
 +	mutex_unlock(&imxdrm->mutex);
 +	return 0;
  
 -err_init:
 +err_vblank:
 +	drm_vblank_cleanup(drm);
 +err_kms:
 +	drm_kms_helper_poll_fini(drm);
 +	drm_mode_config_cleanup(drm);
  	mutex_unlock(&imxdrm->mutex);
  
  	return ret;

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2013-12-19  1:59 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2013-12-19  1:59 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Ilia Mirkin, Daniel Vetter

[-- Attachment #1: Type: text/plain, Size: 1128 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/drm_stub.c between commit 0f58411d4fd7 ("drm: don't
double-free on driver load error") from Linus' tree and commit
2c695fa04442 ("drm: remove agp_init() bus callback") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/drm_stub.c
index 66dd3a001cf1,a4a5c6ac110a..000000000000
--- a/drivers/gpu/drm/drm_stub.c
+++ b/drivers/gpu/drm/drm_stub.c
@@@ -566,14 -564,11 +564,11 @@@ err_unload
  	if (dev->driver->unload)
  		dev->driver->unload(dev);
  err_primary_node:
 -	drm_put_minor(dev->primary);
 +	drm_unplug_minor(dev->primary);
  err_render_node:
 -	drm_put_minor(dev->render);
 +	drm_unplug_minor(dev->render);
  err_control_node:
 -	drm_put_minor(dev->control);
 +	drm_unplug_minor(dev->control);
- err_agp:
- 	if (dev->driver->bus->agp_destroy)
- 		dev->driver->bus->agp_destroy(dev);
  out_unlock:
  	mutex_unlock(&drm_global_mutex);
  	return ret;

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2013-11-07  2:21 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2013-11-07  2:21 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Alex Deucher

[-- Attachment #1: Type: text/plain, Size: 468 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/radeon/radeon_connectors.c between commit 108dc8e8b44a
("drm/radeon: rework audio option") from Linus' tree and commit
ad41550666f8 ("drm/radeon: enable hdmi audio by default") from the drm
tree.

I fixed it up (I used the latter version) and can carry the fix as
necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2013-11-07  2:10 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2013-11-07  2:10 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 498 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/radeon/atombios_encoders.c between commit c23632d4e57c
("Alex Deucher <alexander.deucher@amd.com>") from Linus' tree and commit
43a340262ad4 ("drm/radeon/atom: don't call [EN|DIS]ABLE_OUTPUT on
DCE3.x") from the drm tree.

I fixed it up (just using the latter version) and can carry the fix as
necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2013-10-28  5:58 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2013-10-28  5:58 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Paulo Zanoni, Daniel Vetter,
	"Ville Syrjälä"

[-- Attachment #1: Type: text/plain, Size: 14457 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/intel_drv.h between commit e1264ebe9ff4 ("Revert
"drm/i915: Delay disabling of VGA memory until vgacon->fbcon handoff is
done"") from Linus' tree and commits 5f1aae65cdae ("drm/i915: reorganize
intel_drv.h"), i915_disable_vga_mem ("drm/i915: remove "extern"
keywords from intel_drv.h functions") and 20bc86739b83 ("drm/i915:
Enable/disable IPS when primary is enabled/disabled") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/i915/intel_drv.h
index 9b7b68fd5d47,e33f387d4185..000000000000
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@@ -696,102 -668,197 +668,196 @@@ void assert_fdi_rx_pll(struct drm_i915_
  		       enum pipe pipe, bool state);
  #define assert_fdi_rx_pll_enabled(d, p) assert_fdi_rx_pll(d, p, true)
  #define assert_fdi_rx_pll_disabled(d, p) assert_fdi_rx_pll(d, p, false)
- extern void assert_pipe(struct drm_i915_private *dev_priv, enum pipe pipe,
- 			bool state);
+ void assert_pipe(struct drm_i915_private *dev_priv, enum pipe pipe, bool state);
  #define assert_pipe_enabled(d, p) assert_pipe(d, p, true)
  #define assert_pipe_disabled(d, p) assert_pipe(d, p, false)
+ void intel_write_eld(struct drm_encoder *encoder,
+ 		     struct drm_display_mode *mode);
+ unsigned long intel_gen4_compute_page_offset(int *x, int *y,
+ 					     unsigned int tiling_mode,
+ 					     unsigned int bpp,
+ 					     unsigned int pitch);
+ void intel_display_handle_reset(struct drm_device *dev);
+ void hsw_enable_pc8_work(struct work_struct *__work);
+ void hsw_enable_package_c8(struct drm_i915_private *dev_priv);
+ void hsw_disable_package_c8(struct drm_i915_private *dev_priv);
+ void intel_dp_get_m_n(struct intel_crtc *crtc,
+ 		      struct intel_crtc_config *pipe_config);
+ int intel_dotclock_calculate(int link_freq, const struct intel_link_m_n *m_n);
+ void
+ ironlake_check_encoder_dotclock(const struct intel_crtc_config *pipe_config,
+ 				int dotclock);
+ bool intel_crtc_active(struct drm_crtc *crtc);
 -void i915_disable_vga_mem(struct drm_device *dev);
+ void hsw_enable_ips(struct intel_crtc *crtc);
+ void hsw_disable_ips(struct intel_crtc *crtc);
+ 
+ 
+ /* intel_dp.c */
+ void intel_dp_init(struct drm_device *dev, int output_reg, enum port port);
+ bool intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
+ 			     struct intel_connector *intel_connector);
+ void intel_dp_start_link_train(struct intel_dp *intel_dp);
+ void intel_dp_complete_link_train(struct intel_dp *intel_dp);
+ void intel_dp_stop_link_train(struct intel_dp *intel_dp);
+ void intel_dp_sink_dpms(struct intel_dp *intel_dp, int mode);
+ void intel_dp_encoder_destroy(struct drm_encoder *encoder);
+ void intel_dp_check_link_status(struct intel_dp *intel_dp);
+ bool intel_dp_compute_config(struct intel_encoder *encoder,
+ 			     struct intel_crtc_config *pipe_config);
+ bool intel_dpd_is_edp(struct drm_device *dev);
+ void ironlake_edp_backlight_on(struct intel_dp *intel_dp);
+ void ironlake_edp_backlight_off(struct intel_dp *intel_dp);
+ void ironlake_edp_panel_on(struct intel_dp *intel_dp);
+ void ironlake_edp_panel_off(struct intel_dp *intel_dp);
+ void ironlake_edp_panel_vdd_on(struct intel_dp *intel_dp);
+ void ironlake_edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync);
+ void intel_edp_psr_enable(struct intel_dp *intel_dp);
+ void intel_edp_psr_disable(struct intel_dp *intel_dp);
+ void intel_edp_psr_update(struct drm_device *dev);
+ 
+ 
+ /* intel_dsi.c */
+ bool intel_dsi_init(struct drm_device *dev);
+ 
+ 
+ /* intel_dvo.c */
+ void intel_dvo_init(struct drm_device *dev);
+ 
+ 
+ /* legacy fbdev emulation in intel_fbdev.c */
+ #ifdef CONFIG_DRM_I915_FBDEV
+ extern int intel_fbdev_init(struct drm_device *dev);
+ extern void intel_fbdev_initial_config(struct drm_device *dev);
+ extern void intel_fbdev_fini(struct drm_device *dev);
+ extern void intel_fbdev_set_suspend(struct drm_device *dev, int state);
+ extern void intel_fbdev_output_poll_changed(struct drm_device *dev);
+ extern void intel_fbdev_restore_mode(struct drm_device *dev);
+ #else
+ static inline int intel_fbdev_init(struct drm_device *dev)
+ {
+ 	return 0;
+ }
  
- extern void intel_init_clock_gating(struct drm_device *dev);
- extern void intel_suspend_hw(struct drm_device *dev);
- extern void intel_write_eld(struct drm_encoder *encoder,
- 			    struct drm_display_mode *mode);
- extern void intel_prepare_ddi(struct drm_device *dev);
- extern void hsw_fdi_link_train(struct drm_crtc *crtc);
- extern void intel_ddi_init(struct drm_device *dev, enum port port);
- 
- /* For use by IVB LP watermark workaround in intel_sprite.c */
- extern void intel_update_watermarks(struct drm_device *dev);
- extern void intel_update_sprite_watermarks(struct drm_plane *plane,
- 					   struct drm_crtc *crtc,
- 					   uint32_t sprite_width, int pixel_size,
- 					   bool enabled, bool scaled);
- 
- extern unsigned long intel_gen4_compute_page_offset(int *x, int *y,
- 						    unsigned int tiling_mode,
- 						    unsigned int bpp,
- 						    unsigned int pitch);
- 
- extern int intel_sprite_set_colorkey(struct drm_device *dev, void *data,
- 				     struct drm_file *file_priv);
- extern int intel_sprite_get_colorkey(struct drm_device *dev, void *data,
- 				     struct drm_file *file_priv);
- 
- /* Power-related functions, located in intel_pm.c */
- extern void intel_init_pm(struct drm_device *dev);
- /* FBC */
- extern bool intel_fbc_enabled(struct drm_device *dev);
- extern void intel_update_fbc(struct drm_device *dev);
- /* IPS */
- extern void intel_gpu_ips_init(struct drm_i915_private *dev_priv);
- extern void intel_gpu_ips_teardown(void);
- 
- /* Power well */
- extern int i915_init_power_well(struct drm_device *dev);
- extern void i915_remove_power_well(struct drm_device *dev);
- 
- extern bool intel_display_power_enabled(struct drm_device *dev,
- 					enum intel_display_power_domain domain);
- extern void intel_init_power_well(struct drm_device *dev);
- extern void intel_set_power_well(struct drm_device *dev, bool enable);
- extern void intel_enable_gt_powersave(struct drm_device *dev);
- extern void intel_disable_gt_powersave(struct drm_device *dev);
- extern void ironlake_teardown_rc6(struct drm_device *dev);
+ static inline void intel_fbdev_initial_config(struct drm_device *dev)
+ {
+ }
+ 
+ static inline void intel_fbdev_fini(struct drm_device *dev)
+ {
+ }
+ 
+ static inline void intel_fbdev_set_suspend(struct drm_device *dev, int state)
+ {
+ }
+ 
+ static inline void intel_fbdev_restore_mode(struct drm_device *dev)
+ {
+ }
+ #endif
+ 
+ /* intel_hdmi.c */
+ void intel_hdmi_init(struct drm_device *dev, int hdmi_reg, enum port port);
+ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port,
+ 			       struct intel_connector *intel_connector);
+ struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder);
+ bool intel_hdmi_compute_config(struct intel_encoder *encoder,
+ 			       struct intel_crtc_config *pipe_config);
+ 
+ 
+ /* intel_lvds.c */
+ void intel_lvds_init(struct drm_device *dev);
+ bool intel_is_dual_link_lvds(struct drm_device *dev);
+ 
+ 
+ /* intel_modes.c */
+ int intel_connector_update_modes(struct drm_connector *connector,
+ 				 struct edid *edid);
+ int intel_ddc_get_modes(struct drm_connector *c, struct i2c_adapter *adapter);
+ void intel_attach_force_audio_property(struct drm_connector *connector);
+ void intel_attach_broadcast_rgb_property(struct drm_connector *connector);
+ 
+ 
+ /* intel_overlay.c */
+ void intel_setup_overlay(struct drm_device *dev);
+ void intel_cleanup_overlay(struct drm_device *dev);
+ int intel_overlay_switch_off(struct intel_overlay *overlay);
+ int intel_overlay_put_image(struct drm_device *dev, void *data,
+ 			    struct drm_file *file_priv);
+ int intel_overlay_attrs(struct drm_device *dev, void *data,
+ 			struct drm_file *file_priv);
+ 
+ 
+ /* intel_panel.c */
+ int intel_panel_init(struct intel_panel *panel,
+ 		     struct drm_display_mode *fixed_mode);
+ void intel_panel_fini(struct intel_panel *panel);
+ void intel_fixed_panel_mode(const struct drm_display_mode *fixed_mode,
+ 			    struct drm_display_mode *adjusted_mode);
+ void intel_pch_panel_fitting(struct intel_crtc *crtc,
+ 			     struct intel_crtc_config *pipe_config,
+ 			     int fitting_mode);
+ void intel_gmch_panel_fitting(struct intel_crtc *crtc,
+ 			      struct intel_crtc_config *pipe_config,
+ 			      int fitting_mode);
+ void intel_panel_set_backlight(struct drm_device *dev, u32 level, u32 max);
+ int intel_panel_setup_backlight(struct drm_connector *connector);
+ void intel_panel_enable_backlight(struct drm_device *dev, enum pipe pipe);
+ void intel_panel_disable_backlight(struct drm_device *dev);
+ void intel_panel_destroy_backlight(struct drm_device *dev);
+ enum drm_connector_status intel_panel_detect(struct drm_device *dev);
+ 
+ 
+ /* intel_pm.c */
+ void intel_init_clock_gating(struct drm_device *dev);
+ void intel_suspend_hw(struct drm_device *dev);
+ void intel_update_watermarks(struct drm_crtc *crtc);
+ void intel_update_sprite_watermarks(struct drm_plane *plane,
+ 				    struct drm_crtc *crtc,
+ 				    uint32_t sprite_width, int pixel_size,
+ 				    bool enabled, bool scaled);
+ void intel_init_pm(struct drm_device *dev);
+ bool intel_fbc_enabled(struct drm_device *dev);
+ void intel_update_fbc(struct drm_device *dev);
+ void intel_gpu_ips_init(struct drm_i915_private *dev_priv);
+ void intel_gpu_ips_teardown(void);
+ int i915_init_power_well(struct drm_device *dev);
+ void i915_remove_power_well(struct drm_device *dev);
+ bool intel_display_power_enabled(struct drm_device *dev,
+ 				 enum intel_display_power_domain domain);
+ void intel_display_power_get(struct drm_device *dev,
+ 			     enum intel_display_power_domain domain);
+ void intel_display_power_put(struct drm_device *dev,
+ 			     enum intel_display_power_domain domain);
+ void intel_init_power_well(struct drm_device *dev);
+ void intel_set_power_well(struct drm_device *dev, bool enable);
+ void intel_enable_gt_powersave(struct drm_device *dev);
+ void intel_disable_gt_powersave(struct drm_device *dev);
+ void ironlake_teardown_rc6(struct drm_device *dev);
  void gen6_update_ring_freq(struct drm_device *dev);
+ void gen6_rps_idle(struct drm_i915_private *dev_priv);
+ void gen6_rps_boost(struct drm_i915_private *dev_priv);
+ void intel_aux_display_runtime_get(struct drm_i915_private *dev_priv);
+ void intel_aux_display_runtime_put(struct drm_i915_private *dev_priv);
+ void ilk_wm_get_hw_state(struct drm_device *dev);
+ 
+ 
+ /* intel_sdvo.c */
+ bool intel_sdvo_init(struct drm_device *dev, uint32_t sdvo_reg, bool is_sdvob);
+ 
+ 
+ /* intel_sprite.c */
+ int intel_plane_init(struct drm_device *dev, enum pipe pipe, int plane);
+ void intel_flush_primary_plane(struct drm_i915_private *dev_priv,
+ 			       enum plane plane);
+ void intel_plane_restore(struct drm_plane *plane);
+ void intel_plane_disable(struct drm_plane *plane);
+ int intel_sprite_set_colorkey(struct drm_device *dev, void *data,
+ 			      struct drm_file *file_priv);
+ int intel_sprite_get_colorkey(struct drm_device *dev, void *data,
+ 			      struct drm_file *file_priv);
+ 
  
- extern bool intel_ddi_get_hw_state(struct intel_encoder *encoder,
- 				   enum pipe *pipe);
- extern int intel_ddi_get_cdclk_freq(struct drm_i915_private *dev_priv);
- extern void intel_ddi_pll_init(struct drm_device *dev);
- extern void intel_ddi_enable_transcoder_func(struct drm_crtc *crtc);
- extern void intel_ddi_disable_transcoder_func(struct drm_i915_private *dev_priv,
- 					      enum transcoder cpu_transcoder);
- extern void intel_ddi_enable_pipe_clock(struct intel_crtc *intel_crtc);
- extern void intel_ddi_disable_pipe_clock(struct intel_crtc *intel_crtc);
- extern void intel_ddi_setup_hw_pll_state(struct drm_device *dev);
- extern bool intel_ddi_pll_mode_set(struct drm_crtc *crtc);
- extern void intel_ddi_put_crtc_pll(struct drm_crtc *crtc);
- extern void intel_ddi_set_pipe_settings(struct drm_crtc *crtc);
- extern void intel_ddi_prepare_link_retrain(struct drm_encoder *encoder);
- extern bool
- intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector);
- extern void intel_ddi_fdi_disable(struct drm_crtc *crtc);
- 
- extern void intel_display_handle_reset(struct drm_device *dev);
- extern bool intel_set_cpu_fifo_underrun_reporting(struct drm_device *dev,
- 						  enum pipe pipe,
- 						  bool enable);
- extern bool intel_set_pch_fifo_underrun_reporting(struct drm_device *dev,
- 						 enum transcoder pch_transcoder,
- 						 bool enable);
- 
- extern void intel_edp_psr_enable(struct intel_dp *intel_dp);
- extern void intel_edp_psr_disable(struct intel_dp *intel_dp);
- extern void intel_edp_psr_update(struct drm_device *dev);
- extern void hsw_disable_lcpll(struct drm_i915_private *dev_priv,
- 			      bool switch_to_fclk, bool allow_power_down);
- extern void hsw_restore_lcpll(struct drm_i915_private *dev_priv);
- extern void ilk_enable_gt_irq(struct drm_i915_private *dev_priv, uint32_t mask);
- extern void ilk_disable_gt_irq(struct drm_i915_private *dev_priv,
- 			       uint32_t mask);
- extern void snb_enable_pm_irq(struct drm_i915_private *dev_priv, uint32_t mask);
- extern void snb_disable_pm_irq(struct drm_i915_private *dev_priv,
- 			       uint32_t mask);
- extern void hsw_enable_pc8_work(struct work_struct *__work);
- extern void hsw_enable_package_c8(struct drm_i915_private *dev_priv);
- extern void hsw_disable_package_c8(struct drm_i915_private *dev_priv);
- extern void hsw_pc8_disable_interrupts(struct drm_device *dev);
- 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);
+ /* intel_tv.c */
+ void intel_tv_init(struct drm_device *dev);
  
  #endif /* __INTEL_DRV_H__ */

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2013-10-28  5:28 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2013-10-28  5:28 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Ben Widawsky, Daniel Vetter, Paulo Zanoni

[-- Attachment #1: Type: text/plain, Size: 584 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/i915_drv.c between commit 828c79087cec ("drm/i915:
Disable GGTT PTEs on GEN6+ suspend") from Linus' tree and commit
9d49c0ef4089 ("drm/i915: move more code to __i915_drm_thaw") from the drm
tree.

I fixed it up (the section of code added to i915_drm_thaw by the first
patch looks as though it could not do anything, so I just used the latter
patch) and can carry the fix as necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2013-10-28  5:11 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2013-10-28  5:11 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, "Ville Syrjälä",
	Daniel Vetter

[-- Attachment #1: Type: text/plain, Size: 1146 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/i915_dma.c between commit e1264ebe9ff4 ("Revert
"drm/i915: Delay disabling of VGA memory until vgacon->fbcon handoff is
done"") from Linus' tree and commit ce352550327b ("drm/i915: Fix
unclaimed register access due to delayed VGA memory disable") from the
drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/i915/i915_dma.c
index d5c784d48671,437886641d90..000000000000
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@@ -1348,6 -1358,13 +1355,8 @@@ static int i915_load_modeset_init(struc
  	 */
  	intel_fbdev_initial_config(dev);
  
 -	/*
 -	 * Must do this after fbcon init so that
 -	 * vgacon_save_screen() works during the handover.
 -	 */
 -	i915_disable_vga_mem(dev);
+ 	intel_display_power_put(dev, POWER_DOMAIN_VGA);
+ 
  	/* Only enable hotplug handling once the fbdev is fully set up. */
  	dev_priv->enable_hotplug_processing = true;
  

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2013-07-29  2:58 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2013-07-29  2:58 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, David Herrmann

[-- Attachment #1: Type: text/plain, Size: 1487 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/qxl/qxl_release.c between commit 8002db6336dd ("qxl:
convert qxl driver to proper use for reservations") from Linus' tree and
commit 72525b3f333d ("drm/ttm: convert to unified vma offset manager")
from the drm tree.

I fixed it up (I think - see below) and can carry the fix as necessary
(no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/qxl/qxl_release.c
index b61449e,1a648e1..0000000
--- a/drivers/gpu/drm/qxl/qxl_release.c
+++ b/drivers/gpu/drm/qxl/qxl_release.c
@@@ -85,13 -85,12 +85,13 @@@ qxl_release_free(struct qxl_device *qde
  	if (release->surface_release_id)
  		qxl_surface_id_dealloc(qdev, release->surface_release_id);
  
 -	for (i = 0 ; i < release->bo_count; ++i) {
 +	list_for_each_entry_safe(entry, tmp, &release->bos, tv.head) {
 +		struct qxl_bo *bo = to_qxl_bo(entry->tv.bo);
  		QXL_INFO(qdev, "release %llx\n",
- 			entry->tv.bo->addr_space_offset
 -			drm_vma_node_offset_addr(&release->bos[i]->tbo.vma_node)
++			drm_vma_node_offset_addr(&entry->tv.bo->vma_node)
  						- DRM_FILE_OFFSET);
 -		qxl_fence_remove_release(&release->bos[i]->fence, release->id);
 -		qxl_bo_unref(&release->bos[i]);
 +		qxl_fence_remove_release(&bo->fence, release->id);
 +		qxl_bo_unref(&bo);
  	}
  	spin_lock(&qdev->release_idr_lock);
  	idr_remove(&qdev->release_idr, release->id);

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2013-07-26  3:01 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2013-07-26  3:01 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Konstantin Khlebnikov, Daniel Vetter

[-- Attachment #1: Type: text/plain, Size: 1192 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/i915_dma.c between commit 7dcd2677ea91 ("drm/i915:
fix long-standing SNB regression in power consumption after resume v2")
from Linus' tree and commit 59cdb63d529c ("drm/i915: kill
dev_priv->rps.lock") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/i915/i915_dma.c
index 66c6380,6ce9033..0000000
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@@ -1495,15 -1490,6 +1490,14 @@@ int i915_driver_load(struct drm_device 
  	dev_priv->dev = dev;
  	dev_priv->info = info;
  
 +	spin_lock_init(&dev_priv->irq_lock);
 +	spin_lock_init(&dev_priv->gpu_error.lock);
- 	spin_lock_init(&dev_priv->rps.lock);
 +	spin_lock_init(&dev_priv->gt_lock);
 +	spin_lock_init(&dev_priv->backlight.lock);
 +	mutex_init(&dev_priv->dpio_lock);
 +	mutex_init(&dev_priv->rps.hw_lock);
 +	mutex_init(&dev_priv->modeset_restore_lock);
 +
  	i915_dump_device_info(dev_priv);
  
  	if (i915_get_bridge_dev(dev)) {

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2013-06-24  2:56 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2013-06-24  2:56 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Laurent Pinchart, Maarten Lankhorst

[-- Attachment #1: Type: text/plain, Size: 1151 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/drm_prime.c between commit ebc0bad4a05a ("drm/prime:
Honor requested file flags when exporting a buffer") from Linus' tree and
commit ca793f75d91d ("drm: move pinning/unpinning to buffer attach") from
the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/drm_prime.c
index 5b7b911,d92853e..0000000
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@@ -185,12 -210,8 +210,7 @@@ static const struct dma_buf_ops drm_gem
  struct dma_buf *drm_gem_prime_export(struct drm_device *dev,
  				     struct drm_gem_object *obj, int flags)
  {
- 	if (dev->driver->gem_prime_pin) {
- 		int ret = dev->driver->gem_prime_pin(obj);
- 		if (ret)
- 			return ERR_PTR(ret);
- 	}
 -	return dma_buf_export(obj, &drm_gem_prime_dmabuf_ops, obj->size,
 -			     0600);
 +	return dma_buf_export(obj, &drm_gem_prime_dmabuf_ops, obj->size, flags);
  }
  EXPORT_SYMBOL(drm_gem_prime_export);
  

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2013-06-17  3:09 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2013-06-17  3:09 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Daniel Vetter, Rodrigo Vivi

[-- Attachment #1: Type: text/plain, Size: 1611 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/intel_sdvo.c between commit c3456fb3e471 ("drm/i915:
prefer VBT modes for SVDO-LVDS over EDID") from Linus' tree and commit
41aa344866e3 ("drm/i915: Organize VBT stuff inside drm_i915_private")
from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/i915/intel_sdvo.c
index d4ea6c2,7068195..0000000
--- a/drivers/gpu/drm/i915/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/intel_sdvo.c
@@@ -1776,17 -1848,14 +1848,17 @@@ static void intel_sdvo_get_lvds_modes(s
  	 * Assume that the preferred modes are
  	 * arranged in priority order.
  	 */
 -	intel_ddc_get_modes(connector, intel_sdvo->i2c);
 -	if (list_empty(&connector->probed_modes) == false)
 -		goto end;
 +	intel_ddc_get_modes(connector, &intel_sdvo->ddc);
  
 -	/* Fetch modes from VBT */
 +	/*
 +	 * Fetch modes from VBT. For SDVO prefer the VBT mode since some
 +	 * SDVO->LVDS transcoders can't cope with the EDID mode. Since
 +	 * drm_mode_probed_add adds the mode at the head of the list we add it
 +	 * last.
 +	 */
- 	if (dev_priv->sdvo_lvds_vbt_mode != NULL) {
+ 	if (dev_priv->vbt.sdvo_lvds_vbt_mode != NULL) {
  		newmode = drm_mode_duplicate(connector->dev,
- 					     dev_priv->sdvo_lvds_vbt_mode);
+ 					     dev_priv->vbt.sdvo_lvds_vbt_mode);
  		if (newmode != NULL) {
  			/* Guarantee the mode is preferred */
  			newmode->type = (DRM_MODE_TYPE_PREFERRED |

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2013-02-13  4:48 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2013-02-13  4:48 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Jerome Glisse, Alex Deucher

[-- Attachment #1: Type: text/plain, Size: 32938 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/radeon/evergreen_cs.c between commit de0babd60d8d
("drm/radeon: enforce use of radeon_get_ib_value when reading user cmd")
from Linus' tree and commit 0fcb6155cb5c ("radeon/kms: cleanup async dma
packet checking") from the drm tree.

I fixed it up (I think (I did it fairly mechanically) - see below) and
can carry the fix as necessary (no action is required - but it might be
worth doing this merge yourself before asking Linus to pull - you could
just *merge* the above commit from Linus' tree (or the head of the branch
that Linus merged)).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/evergreen_cs.c
index ee4cff5,d8f5d5f..0000000
--- a/drivers/gpu/drm/radeon/evergreen_cs.c
+++ b/drivers/gpu/drm/radeon/evergreen_cs.c
@@@ -2908,15 -2708,19 +2708,19 @@@ int evergreen_dma_cs_parse(struct radeo
  				DRM_ERROR("bad DMA_PACKET_WRITE\n");
  				return -EINVAL;
  			}
- 			if (tiled) {
+ 			switch (sub_cmd) {
+ 			/* tiled */
+ 			case 8:
 -				dst_offset = ib[idx+1];
 +				dst_offset = radeon_get_ib_value(p, idx+1);
  				dst_offset <<= 8;
  
  				ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset >> 8);
  				p->idx += count + 7;
- 			} else {
+ 				break;
+ 			/* linear */
+ 			case 0:
 -				dst_offset = ib[idx+1];
 -				dst_offset |= ((u64)(ib[idx+2] & 0xff)) << 32;
 +				dst_offset = radeon_get_ib_value(p, idx+1);
 +				dst_offset |= ((u64)(radeon_get_ib_value(p, idx+2) & 0xff)) << 32;
  
  				ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset & 0xfffffffc);
  				ib[idx+2] += upper_32_bits(dst_reloc->lobj.gpu_offset) & 0xff;
@@@ -2939,338 -2747,330 +2747,330 @@@
  				DRM_ERROR("bad DMA_PACKET_COPY\n");
  				return -EINVAL;
  			}
- 			if (tiled) {
- 				idx_value = radeon_get_ib_value(p, idx + 2);
- 				if (new_cmd) {
- 					switch (misc) {
- 					case 0:
- 						/* L2T, frame to fields */
- 						if (idx_value & (1 << 31)) {
- 							DRM_ERROR("bad L2T, frame to fields DMA_PACKET_COPY\n");
- 							return -EINVAL;
- 						}
- 						r = r600_dma_cs_next_reloc(p, &dst2_reloc);
- 						if (r) {
- 							DRM_ERROR("bad L2T, frame to fields DMA_PACKET_COPY\n");
- 							return -EINVAL;
- 						}
- 						dst_offset = radeon_get_ib_value(p, idx+1);
- 						dst_offset <<= 8;
- 						dst2_offset = radeon_get_ib_value(p, idx+2);
- 						dst2_offset <<= 8;
- 						src_offset = radeon_get_ib_value(p, idx+8);
- 						src_offset |= ((u64)(radeon_get_ib_value(p, idx+9) & 0xff)) << 32;
- 						if ((src_offset + (count * 4)) > radeon_bo_size(src_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2T, frame to fields src buffer too small (%llu %lu)\n",
- 								 src_offset + (count * 4), radeon_bo_size(src_reloc->robj));
- 							return -EINVAL;
- 						}
- 						if ((dst_offset + (count * 4)) > radeon_bo_size(dst_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2T, frame to fields buffer too small (%llu %lu)\n",
- 								 dst_offset + (count * 4), radeon_bo_size(dst_reloc->robj));
- 							return -EINVAL;
- 						}
- 						if ((dst2_offset + (count * 4)) > radeon_bo_size(dst2_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2T, frame to fields buffer too small (%llu %lu)\n",
- 								 dst2_offset + (count * 4), radeon_bo_size(dst2_reloc->robj));
- 							return -EINVAL;
- 						}
- 						ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset >> 8);
- 						ib[idx+2] += (u32)(dst2_reloc->lobj.gpu_offset >> 8);
- 						ib[idx+8] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
- 						ib[idx+9] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
- 						p->idx += 10;
- 						break;
- 					case 1:
- 						/* L2T, T2L partial */
- 						if (p->family < CHIP_CAYMAN) {
- 							DRM_ERROR("L2T, T2L Partial is cayman only !\n");
- 							return -EINVAL;
- 						}
- 						/* detile bit */
- 						if (idx_value & (1 << 31)) {
- 							/* tiled src, linear dst */
- 							ib[idx+1] += (u32)(src_reloc->lobj.gpu_offset >> 8);
- 
- 							ib[idx+7] += (u32)(dst_reloc->lobj.gpu_offset & 0xfffffffc);
- 							ib[idx+8] += upper_32_bits(dst_reloc->lobj.gpu_offset) & 0xff;
- 						} else {
- 							/* linear src, tiled dst */
- 							ib[idx+7] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
- 							ib[idx+8] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
- 
- 							ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset >> 8);
- 						}
- 						p->idx += 12;
- 						break;
- 					case 3:
- 						/* L2T, broadcast */
- 						if (idx_value & (1 << 31)) {
- 							DRM_ERROR("bad L2T, broadcast DMA_PACKET_COPY\n");
- 							return -EINVAL;
- 						}
- 						r = r600_dma_cs_next_reloc(p, &dst2_reloc);
- 						if (r) {
- 							DRM_ERROR("bad L2T, broadcast DMA_PACKET_COPY\n");
- 							return -EINVAL;
- 						}
- 						dst_offset = radeon_get_ib_value(p, idx+1);
- 						dst_offset <<= 8;
- 						dst2_offset = radeon_get_ib_value(p, idx+2);
- 						dst2_offset <<= 8;
- 						src_offset = radeon_get_ib_value(p, idx+8);
- 						src_offset |= ((u64)(radeon_get_ib_value(p, idx+9) & 0xff)) << 32;
- 						if ((src_offset + (count * 4)) > radeon_bo_size(src_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2T, broadcast src buffer too small (%llu %lu)\n",
- 								 src_offset + (count * 4), radeon_bo_size(src_reloc->robj));
- 							return -EINVAL;
- 						}
- 						if ((dst_offset + (count * 4)) > radeon_bo_size(dst_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2T, broadcast dst buffer too small (%llu %lu)\n",
- 								 dst_offset + (count * 4), radeon_bo_size(dst_reloc->robj));
- 							return -EINVAL;
- 						}
- 						if ((dst2_offset + (count * 4)) > radeon_bo_size(dst2_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2T, broadcast dst2 buffer too small (%llu %lu)\n",
- 								 dst2_offset + (count * 4), radeon_bo_size(dst2_reloc->robj));
- 							return -EINVAL;
- 						}
- 						ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset >> 8);
- 						ib[idx+2] += (u32)(dst2_reloc->lobj.gpu_offset >> 8);
- 						ib[idx+8] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
- 						ib[idx+9] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
- 						p->idx += 10;
- 						break;
- 					case 4:
- 						/* L2T, T2L */
- 						/* detile bit */
- 						if (idx_value & (1 << 31)) {
- 							/* tiled src, linear dst */
- 							src_offset = radeon_get_ib_value(p, idx+1);
- 							src_offset <<= 8;
- 							ib[idx+1] += (u32)(src_reloc->lobj.gpu_offset >> 8);
- 
- 							dst_offset = radeon_get_ib_value(p, idx+7);
- 							dst_offset |= ((u64)(radeon_get_ib_value(p, idx+8) & 0xff)) << 32;
- 							ib[idx+7] += (u32)(dst_reloc->lobj.gpu_offset & 0xfffffffc);
- 							ib[idx+8] += upper_32_bits(dst_reloc->lobj.gpu_offset) & 0xff;
- 						} else {
- 							/* linear src, tiled dst */
- 							src_offset = radeon_get_ib_value(p, idx+7);
- 							src_offset |= ((u64)(radeon_get_ib_value(p, idx+8) & 0xff)) << 32;
- 							ib[idx+7] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
- 							ib[idx+8] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
- 
- 							dst_offset = radeon_get_ib_value(p, idx+1);
- 							dst_offset <<= 8;
- 							ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset >> 8);
- 						}
- 						if ((src_offset + (count * 4)) > radeon_bo_size(src_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2T, T2L src buffer too small (%llu %lu)\n",
- 								 src_offset + (count * 4), radeon_bo_size(src_reloc->robj));
- 							return -EINVAL;
- 						}
- 						if ((dst_offset + (count * 4)) > radeon_bo_size(dst_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2T, T2L dst buffer too small (%llu %lu)\n",
- 								 dst_offset + (count * 4), radeon_bo_size(dst_reloc->robj));
- 							return -EINVAL;
- 						}
- 						p->idx += 9;
- 						break;
- 					case 5:
- 						/* T2T partial */
- 						if (p->family < CHIP_CAYMAN) {
- 							DRM_ERROR("L2T, T2L Partial is cayman only !\n");
- 							return -EINVAL;
- 						}
- 						ib[idx+1] += (u32)(src_reloc->lobj.gpu_offset >> 8);
- 						ib[idx+4] += (u32)(dst_reloc->lobj.gpu_offset >> 8);
- 						p->idx += 13;
- 						break;
- 					case 7:
- 						/* L2T, broadcast */
- 						if (idx_value & (1 << 31)) {
- 							DRM_ERROR("bad L2T, broadcast DMA_PACKET_COPY\n");
- 							return -EINVAL;
- 						}
- 						r = r600_dma_cs_next_reloc(p, &dst2_reloc);
- 						if (r) {
- 							DRM_ERROR("bad L2T, broadcast DMA_PACKET_COPY\n");
- 							return -EINVAL;
- 						}
- 						dst_offset = radeon_get_ib_value(p, idx+1);
- 						dst_offset <<= 8;
- 						dst2_offset = radeon_get_ib_value(p, idx+2);
- 						dst2_offset <<= 8;
- 						src_offset = radeon_get_ib_value(p, idx+8);
- 						src_offset |= ((u64)(radeon_get_ib_value(p, idx+9) & 0xff)) << 32;
- 						if ((src_offset + (count * 4)) > radeon_bo_size(src_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2T, broadcast src buffer too small (%llu %lu)\n",
- 								 src_offset + (count * 4), radeon_bo_size(src_reloc->robj));
- 							return -EINVAL;
- 						}
- 						if ((dst_offset + (count * 4)) > radeon_bo_size(dst_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2T, broadcast dst buffer too small (%llu %lu)\n",
- 								 dst_offset + (count * 4), radeon_bo_size(dst_reloc->robj));
- 							return -EINVAL;
- 						}
- 						if ((dst2_offset + (count * 4)) > radeon_bo_size(dst2_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2T, broadcast dst2 buffer too small (%llu %lu)\n",
- 								 dst2_offset + (count * 4), radeon_bo_size(dst2_reloc->robj));
- 							return -EINVAL;
- 						}
- 						ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset >> 8);
- 						ib[idx+2] += (u32)(dst2_reloc->lobj.gpu_offset >> 8);
- 						ib[idx+8] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
- 						ib[idx+9] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
- 						p->idx += 10;
- 						break;
- 					default:
- 						DRM_ERROR("bad DMA_PACKET_COPY misc %u\n", misc);
- 						return -EINVAL;
- 					}
+ 			switch (sub_cmd) {
+ 			/* Copy L2L, DW aligned */
+ 			case 0x00:
+ 				/* L2L, dw */
 -				src_offset = ib[idx+2];
 -				src_offset |= ((u64)(ib[idx+4] & 0xff)) << 32;
 -				dst_offset = ib[idx+1];
 -				dst_offset |= ((u64)(ib[idx+3] & 0xff)) << 32;
++				src_offset = radeon_get_ib_value(p, idx+2);
++				src_offset |= ((u64)(radeon_get_ib_value(p, idx+4) & 0xff)) << 32;
++				dst_offset = radeon_get_ib_value(p, idx+1);
++				dst_offset |= ((u64)(radeon_get_ib_value(p, idx+3) & 0xff)) << 32;
+ 				if ((src_offset + (count * 4)) > radeon_bo_size(src_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2L, dw src buffer too small (%llu %lu)\n",
+ 							src_offset + (count * 4), radeon_bo_size(src_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				if ((dst_offset + (count * 4)) > radeon_bo_size(dst_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2L, dw dst buffer too small (%llu %lu)\n",
+ 							dst_offset + (count * 4), radeon_bo_size(dst_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset & 0xfffffffc);
+ 				ib[idx+2] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
+ 				ib[idx+3] += upper_32_bits(dst_reloc->lobj.gpu_offset) & 0xff;
+ 				ib[idx+4] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
+ 				p->idx += 5;
+ 				break;
+ 			/* Copy L2T/T2L */
+ 			case 0x08:
+ 				/* detile bit */
 -				if (ib[idx + 2] & (1 << 31)) {
++				if (radeon_get_ib_value(p, idx + 2) & (1 << 31)) {
+ 					/* tiled src, linear dst */
 -					src_offset = ib[idx+1];
++					src_offset = radeon_get_ib_value(p, idx+1);
+ 					src_offset <<= 8;
+ 					ib[idx+1] += (u32)(src_reloc->lobj.gpu_offset >> 8);
+ 
+ 					dst_offset = radeon_get_ib_value(p, idx + 7);
 -					dst_offset |= ((u64)(ib[idx+8] & 0xff)) << 32;
++					dst_offset |= ((u64)(radeon_get_ib_value(p, idx+8) & 0xff)) << 32;
+ 					ib[idx+7] += (u32)(dst_reloc->lobj.gpu_offset & 0xfffffffc);
+ 					ib[idx+8] += upper_32_bits(dst_reloc->lobj.gpu_offset) & 0xff;
  				} else {
- 					switch (misc) {
- 					case 0:
- 						/* detile bit */
- 						if (idx_value & (1 << 31)) {
- 							/* tiled src, linear dst */
- 							src_offset = radeon_get_ib_value(p, idx+1);
- 							src_offset <<= 8;
- 							ib[idx+1] += (u32)(src_reloc->lobj.gpu_offset >> 8);
- 
- 							dst_offset = radeon_get_ib_value(p, idx+7);
- 							dst_offset |= ((u64)(radeon_get_ib_value(p, idx+8) & 0xff)) << 32;
- 							ib[idx+7] += (u32)(dst_reloc->lobj.gpu_offset & 0xfffffffc);
- 							ib[idx+8] += upper_32_bits(dst_reloc->lobj.gpu_offset) & 0xff;
- 						} else {
- 							/* linear src, tiled dst */
- 							src_offset = radeon_get_ib_value(p, idx+7);
- 							src_offset |= ((u64)(radeon_get_ib_value(p, idx+8) & 0xff)) << 32;
- 							ib[idx+7] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
- 							ib[idx+8] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
- 
- 							dst_offset = radeon_get_ib_value(p, idx+1);
- 							dst_offset <<= 8;
- 							ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset >> 8);
- 						}
- 						if ((src_offset + (count * 4)) > radeon_bo_size(src_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2T, broadcast src buffer too small (%llu %lu)\n",
- 								 src_offset + (count * 4), radeon_bo_size(src_reloc->robj));
- 							return -EINVAL;
- 						}
- 						if ((dst_offset + (count * 4)) > radeon_bo_size(dst_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2T, broadcast dst buffer too small (%llu %lu)\n",
- 								 dst_offset + (count * 4), radeon_bo_size(dst_reloc->robj));
- 							return -EINVAL;
- 						}
- 						p->idx += 9;
- 						break;
- 					default:
- 						DRM_ERROR("bad DMA_PACKET_COPY misc %u\n", misc);
- 						return -EINVAL;
- 					}
+ 					/* linear src, tiled dst */
 -					src_offset = ib[idx+7];
 -					src_offset |= ((u64)(ib[idx+8] & 0xff)) << 32;
++					src_offset = radeon_get_ib_value(p, idx+7);
++					src_offset |= ((u64)(radeon_get_ib_value(p, idx+8) & 0xff)) << 32;
+ 					ib[idx+7] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
+ 					ib[idx+8] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
+ 
 -					dst_offset = ib[idx+1];
++					dst_offset = radeon_get_ib_value(p, idx+1);
+ 					dst_offset <<= 8;
+ 					ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset >> 8);
  				}
- 			} else {
- 				if (new_cmd) {
- 					switch (misc) {
- 					case 0:
- 						/* L2L, byte */
- 						src_offset = radeon_get_ib_value(p, idx+2);
- 						src_offset |= ((u64)(radeon_get_ib_value(p, idx+4) & 0xff)) << 32;
- 						dst_offset = radeon_get_ib_value(p, idx+1);
- 						dst_offset |= ((u64)(radeon_get_ib_value(p, idx+3) & 0xff)) << 32;
- 						if ((src_offset + count) > radeon_bo_size(src_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2L, byte src buffer too small (%llu %lu)\n",
- 								 src_offset + count, radeon_bo_size(src_reloc->robj));
- 							return -EINVAL;
- 						}
- 						if ((dst_offset + count) > radeon_bo_size(dst_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2L, byte dst buffer too small (%llu %lu)\n",
- 								 dst_offset + count, radeon_bo_size(dst_reloc->robj));
- 							return -EINVAL;
- 						}
- 						ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset & 0xffffffff);
- 						ib[idx+2] += (u32)(src_reloc->lobj.gpu_offset & 0xffffffff);
- 						ib[idx+3] += upper_32_bits(dst_reloc->lobj.gpu_offset) & 0xff;
- 						ib[idx+4] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
- 						p->idx += 5;
- 						break;
- 					case 1:
- 						/* L2L, partial */
- 						if (p->family < CHIP_CAYMAN) {
- 							DRM_ERROR("L2L Partial is cayman only !\n");
- 							return -EINVAL;
- 						}
- 						ib[idx+1] += (u32)(src_reloc->lobj.gpu_offset & 0xffffffff);
- 						ib[idx+2] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
- 						ib[idx+4] += (u32)(dst_reloc->lobj.gpu_offset & 0xffffffff);
- 						ib[idx+5] += upper_32_bits(dst_reloc->lobj.gpu_offset) & 0xff;
- 
- 						p->idx += 9;
- 						break;
- 					case 4:
- 						/* L2L, dw, broadcast */
- 						r = r600_dma_cs_next_reloc(p, &dst2_reloc);
- 						if (r) {
- 							DRM_ERROR("bad L2L, dw, broadcast DMA_PACKET_COPY\n");
- 							return -EINVAL;
- 						}
- 						dst_offset = radeon_get_ib_value(p, idx+1);
- 						dst_offset |= ((u64)(radeon_get_ib_value(p, idx+4) & 0xff)) << 32;
- 						dst2_offset = radeon_get_ib_value(p, idx+2);
- 						dst2_offset |= ((u64)(radeon_get_ib_value(p, idx+5) & 0xff)) << 32;
- 						src_offset = radeon_get_ib_value(p, idx+3);
- 						src_offset |= ((u64)(radeon_get_ib_value(p, idx+6) & 0xff)) << 32;
- 						if ((src_offset + (count * 4)) > radeon_bo_size(src_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2L, dw, broadcast src buffer too small (%llu %lu)\n",
- 								 src_offset + (count * 4), radeon_bo_size(src_reloc->robj));
- 							return -EINVAL;
- 						}
- 						if ((dst_offset + (count * 4)) > radeon_bo_size(dst_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2L, dw, broadcast dst buffer too small (%llu %lu)\n",
- 								 dst_offset + (count * 4), radeon_bo_size(dst_reloc->robj));
- 							return -EINVAL;
- 						}
- 						if ((dst2_offset + (count * 4)) > radeon_bo_size(dst2_reloc->robj)) {
- 							dev_warn(p->dev, "DMA L2L, dw, broadcast dst2 buffer too small (%llu %lu)\n",
- 								 dst2_offset + (count * 4), radeon_bo_size(dst2_reloc->robj));
- 							return -EINVAL;
- 						}
- 						ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset & 0xfffffffc);
- 						ib[idx+2] += (u32)(dst2_reloc->lobj.gpu_offset & 0xfffffffc);
- 						ib[idx+3] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
- 						ib[idx+4] += upper_32_bits(dst_reloc->lobj.gpu_offset) & 0xff;
- 						ib[idx+5] += upper_32_bits(dst2_reloc->lobj.gpu_offset) & 0xff;
- 						ib[idx+6] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
- 						p->idx += 7;
- 						break;
- 					default:
- 						DRM_ERROR("bad DMA_PACKET_COPY misc %u\n", misc);
- 						return -EINVAL;
- 					}
+ 				if ((src_offset + (count * 4)) > radeon_bo_size(src_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2T, src buffer too small (%llu %lu)\n",
+ 							src_offset + (count * 4), radeon_bo_size(src_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				if ((dst_offset + (count * 4)) > radeon_bo_size(dst_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2T, dst buffer too small (%llu %lu)\n",
+ 							dst_offset + (count * 4), radeon_bo_size(dst_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				p->idx += 9;
+ 				break;
+ 			/* Copy L2L, byte aligned */
+ 			case 0x40:
+ 				/* L2L, byte */
 -				src_offset = ib[idx+2];
 -				src_offset |= ((u64)(ib[idx+4] & 0xff)) << 32;
 -				dst_offset = ib[idx+1];
 -				dst_offset |= ((u64)(ib[idx+3] & 0xff)) << 32;
++				src_offset = radeon_get_ib_value(p, idx+2);
++				src_offset |= ((u64)(radeon_get_ib_value(p, idx+4) & 0xff)) << 32;
++				dst_offset = radeon_get_ib_value(p, idx+1);
++				dst_offset |= ((u64)(radeon_get_ib_value(p, idx+3) & 0xff)) << 32;
+ 				if ((src_offset + count) > radeon_bo_size(src_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2L, byte src buffer too small (%llu %lu)\n",
+ 							src_offset + count, radeon_bo_size(src_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				if ((dst_offset + count) > radeon_bo_size(dst_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2L, byte dst buffer too small (%llu %lu)\n",
+ 							dst_offset + count, radeon_bo_size(dst_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset & 0xffffffff);
+ 				ib[idx+2] += (u32)(src_reloc->lobj.gpu_offset & 0xffffffff);
+ 				ib[idx+3] += upper_32_bits(dst_reloc->lobj.gpu_offset) & 0xff;
+ 				ib[idx+4] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
+ 				p->idx += 5;
+ 				break;
+ 			/* Copy L2L, partial */
+ 			case 0x41:
+ 				/* L2L, partial */
+ 				if (p->family < CHIP_CAYMAN) {
+ 					DRM_ERROR("L2L Partial is cayman only !\n");
+ 					return -EINVAL;
+ 				}
+ 				ib[idx+1] += (u32)(src_reloc->lobj.gpu_offset & 0xffffffff);
+ 				ib[idx+2] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
+ 				ib[idx+4] += (u32)(dst_reloc->lobj.gpu_offset & 0xffffffff);
+ 				ib[idx+5] += upper_32_bits(dst_reloc->lobj.gpu_offset) & 0xff;
+ 
+ 				p->idx += 9;
+ 				break;
+ 			/* Copy L2L, DW aligned, broadcast */
+ 			case 0x44:
+ 				/* L2L, dw, broadcast */
+ 				r = r600_dma_cs_next_reloc(p, &dst2_reloc);
+ 				if (r) {
+ 					DRM_ERROR("bad L2L, dw, broadcast DMA_PACKET_COPY\n");
+ 					return -EINVAL;
+ 				}
 -				dst_offset = ib[idx+1];
 -				dst_offset |= ((u64)(ib[idx+4] & 0xff)) << 32;
 -				dst2_offset = ib[idx+2];
 -				dst2_offset |= ((u64)(ib[idx+5] & 0xff)) << 32;
 -				src_offset = ib[idx+3];
 -				src_offset |= ((u64)(ib[idx+6] & 0xff)) << 32;
++				dst_offset = radeon_get_ib_value(p, idx+1);
++				dst_offset |= ((u64)(radeon_get_ib_value(p, idx+4) & 0xff)) << 32;
++				dst2_offset = radeon_get_ib_value(p, idx+2);
++				dst2_offset |= ((u64)(radeon_get_ib_value(p, idx+5) & 0xff)) << 32;
++				src_offset = radeon_get_ib_value(p, idx+3);
++				src_offset |= ((u64)(radeon_get_ib_value(p, idx+6) & 0xff)) << 32;
+ 				if ((src_offset + (count * 4)) > radeon_bo_size(src_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2L, dw, broadcast src buffer too small (%llu %lu)\n",
+ 							src_offset + (count * 4), radeon_bo_size(src_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				if ((dst_offset + (count * 4)) > radeon_bo_size(dst_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2L, dw, broadcast dst buffer too small (%llu %lu)\n",
+ 							dst_offset + (count * 4), radeon_bo_size(dst_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				if ((dst2_offset + (count * 4)) > radeon_bo_size(dst2_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2L, dw, broadcast dst2 buffer too small (%llu %lu)\n",
+ 							dst2_offset + (count * 4), radeon_bo_size(dst2_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset & 0xfffffffc);
+ 				ib[idx+2] += (u32)(dst2_reloc->lobj.gpu_offset & 0xfffffffc);
+ 				ib[idx+3] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
+ 				ib[idx+4] += upper_32_bits(dst_reloc->lobj.gpu_offset) & 0xff;
+ 				ib[idx+5] += upper_32_bits(dst2_reloc->lobj.gpu_offset) & 0xff;
+ 				ib[idx+6] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
+ 				p->idx += 7;
+ 				break;
+ 			/* Copy L2T Frame to Field */
+ 			case 0x48:
 -				if (ib[idx + 2] & (1 << 31)) {
++				if (radeon_get_ib_value(p, idx + 2) & (1 << 31)) {
+ 					DRM_ERROR("bad L2T, frame to fields DMA_PACKET_COPY\n");
+ 					return -EINVAL;
+ 				}
+ 				r = r600_dma_cs_next_reloc(p, &dst2_reloc);
+ 				if (r) {
+ 					DRM_ERROR("bad L2T, frame to fields DMA_PACKET_COPY\n");
+ 					return -EINVAL;
+ 				}
 -				dst_offset = ib[idx+1];
++				dst_offset = radeon_get_ib_value(p, idx+1);
+ 				dst_offset <<= 8;
 -				dst2_offset = ib[idx+2];
++				dst2_offset = radeon_get_ib_value(p, idx+2);
+ 				dst2_offset <<= 8;
 -				src_offset = ib[idx+8];
 -				src_offset |= ((u64)(ib[idx+9] & 0xff)) << 32;
++				src_offset = radeon_get_ib_value(p, idx+8);
++				src_offset |= ((u64)(radeon_get_ib_value(p, idx+9) & 0xff)) << 32;
+ 				if ((src_offset + (count * 4)) > radeon_bo_size(src_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2T, frame to fields src buffer too small (%llu %lu)\n",
+ 							src_offset + (count * 4), radeon_bo_size(src_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				if ((dst_offset + (count * 4)) > radeon_bo_size(dst_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2T, frame to fields buffer too small (%llu %lu)\n",
+ 							dst_offset + (count * 4), radeon_bo_size(dst_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				if ((dst2_offset + (count * 4)) > radeon_bo_size(dst2_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2T, frame to fields buffer too small (%llu %lu)\n",
+ 							dst2_offset + (count * 4), radeon_bo_size(dst2_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset >> 8);
+ 				ib[idx+2] += (u32)(dst2_reloc->lobj.gpu_offset >> 8);
+ 				ib[idx+8] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
+ 				ib[idx+9] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
+ 				p->idx += 10;
+ 				break;
+ 			/* Copy L2T/T2L, partial */
+ 			case 0x49:
+ 				/* L2T, T2L partial */
+ 				if (p->family < CHIP_CAYMAN) {
+ 					DRM_ERROR("L2T, T2L Partial is cayman only !\n");
+ 					return -EINVAL;
+ 				}
+ 				/* detile bit */
 -				if (ib[idx + 2 ] & (1 << 31)) {
++				if (radeon_get_ib_value(p, idx + 2 ) & (1 << 31)) {
+ 					/* tiled src, linear dst */
+ 					ib[idx+1] += (u32)(src_reloc->lobj.gpu_offset >> 8);
+ 
+ 					ib[idx+7] += (u32)(dst_reloc->lobj.gpu_offset & 0xfffffffc);
+ 					ib[idx+8] += upper_32_bits(dst_reloc->lobj.gpu_offset) & 0xff;
+ 				} else {
+ 					/* linear src, tiled dst */
+ 					ib[idx+7] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
+ 					ib[idx+8] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
+ 
+ 					ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset >> 8);
+ 				}
+ 				p->idx += 12;
+ 				break;
+ 			/* Copy L2T broadcast */
+ 			case 0x4b:
+ 				/* L2T, broadcast */
 -				if (ib[idx + 2] & (1 << 31)) {
++				if (radeon_get_ib_value(p, idx + 2) & (1 << 31)) {
+ 					DRM_ERROR("bad L2T, broadcast DMA_PACKET_COPY\n");
+ 					return -EINVAL;
+ 				}
+ 				r = r600_dma_cs_next_reloc(p, &dst2_reloc);
+ 				if (r) {
+ 					DRM_ERROR("bad L2T, broadcast DMA_PACKET_COPY\n");
+ 					return -EINVAL;
+ 				}
 -				dst_offset = ib[idx+1];
++				dst_offset = radeon_get_ib_value(p, idx+1);
+ 				dst_offset <<= 8;
 -				dst2_offset = ib[idx+2];
++				dst2_offset = radeon_get_ib_value(p, idx+2);
+ 				dst2_offset <<= 8;
 -				src_offset = ib[idx+8];
 -				src_offset |= ((u64)(ib[idx+9] & 0xff)) << 32;
++				src_offset = radeon_get_ib_value(p, idx+8);
++				src_offset |= ((u64)(radeon_get_ib_value(p, idx+9) & 0xff)) << 32;
+ 				if ((src_offset + (count * 4)) > radeon_bo_size(src_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2T, broadcast src buffer too small (%llu %lu)\n",
+ 							src_offset + (count * 4), radeon_bo_size(src_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				if ((dst_offset + (count * 4)) > radeon_bo_size(dst_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2T, broadcast dst buffer too small (%llu %lu)\n",
+ 							dst_offset + (count * 4), radeon_bo_size(dst_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				if ((dst2_offset + (count * 4)) > radeon_bo_size(dst2_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2T, broadcast dst2 buffer too small (%llu %lu)\n",
+ 							dst2_offset + (count * 4), radeon_bo_size(dst2_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset >> 8);
+ 				ib[idx+2] += (u32)(dst2_reloc->lobj.gpu_offset >> 8);
+ 				ib[idx+8] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
+ 				ib[idx+9] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
+ 				p->idx += 10;
+ 				break;
+ 			/* Copy L2T/T2L (tile units) */
+ 			case 0x4c:
+ 				/* L2T, T2L */
+ 				/* detile bit */
 -				if (ib[idx + 2] & (1 << 31)) {
++				if (radeon_get_ib_value(p, idx + 2) & (1 << 31)) {
+ 					/* tiled src, linear dst */
 -					src_offset = ib[idx+1];
++					src_offset = radeon_get_ib_value(p, idx+1);
+ 					src_offset <<= 8;
+ 					ib[idx+1] += (u32)(src_reloc->lobj.gpu_offset >> 8);
+ 
 -					dst_offset = ib[idx+7];
 -					dst_offset |= ((u64)(ib[idx+8] & 0xff)) << 32;
++					dst_offset = radeon_get_ib_value(p, idx+7);
++					dst_offset |= ((u64)(radeon_get_ib_value(p, idx+8) & 0xff)) << 32;
+ 					ib[idx+7] += (u32)(dst_reloc->lobj.gpu_offset & 0xfffffffc);
+ 					ib[idx+8] += upper_32_bits(dst_reloc->lobj.gpu_offset) & 0xff;
  				} else {
- 					/* L2L, dw */
- 					src_offset = radeon_get_ib_value(p, idx+2);
- 					src_offset |= ((u64)(radeon_get_ib_value(p, idx+4) & 0xff)) << 32;
+ 					/* linear src, tiled dst */
 -					src_offset = ib[idx+7];
 -					src_offset |= ((u64)(ib[idx+8] & 0xff)) << 32;
++					src_offset = radeon_get_ib_value(p, idx+7);
++					src_offset |= ((u64)(radeon_get_ib_value(p, idx+8) & 0xff)) << 32;
+ 					ib[idx+7] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
+ 					ib[idx+8] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
+ 
 -					dst_offset = ib[idx+1];
 +					dst_offset = radeon_get_ib_value(p, idx+1);
- 					dst_offset |= ((u64)(radeon_get_ib_value(p, idx+3) & 0xff)) << 32;
- 					if ((src_offset + (count * 4)) > radeon_bo_size(src_reloc->robj)) {
- 						dev_warn(p->dev, "DMA L2L, dw src buffer too small (%llu %lu)\n",
- 							 src_offset + (count * 4), radeon_bo_size(src_reloc->robj));
- 						return -EINVAL;
- 					}
- 					if ((dst_offset + (count * 4)) > radeon_bo_size(dst_reloc->robj)) {
- 						dev_warn(p->dev, "DMA L2L, dw dst buffer too small (%llu %lu)\n",
- 							 dst_offset + (count * 4), radeon_bo_size(dst_reloc->robj));
- 						return -EINVAL;
- 					}
- 					ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset & 0xfffffffc);
- 					ib[idx+2] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
- 					ib[idx+3] += upper_32_bits(dst_reloc->lobj.gpu_offset) & 0xff;
- 					ib[idx+4] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
- 					p->idx += 5;
+ 					dst_offset <<= 8;
+ 					ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset >> 8);
  				}
+ 				if ((src_offset + (count * 4)) > radeon_bo_size(src_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2T, T2L src buffer too small (%llu %lu)\n",
+ 							src_offset + (count * 4), radeon_bo_size(src_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				if ((dst_offset + (count * 4)) > radeon_bo_size(dst_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2T, T2L dst buffer too small (%llu %lu)\n",
+ 							dst_offset + (count * 4), radeon_bo_size(dst_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				p->idx += 9;
+ 				break;
+ 			/* Copy T2T, partial (tile units) */
+ 			case 0x4d:
+ 				/* T2T partial */
+ 				if (p->family < CHIP_CAYMAN) {
+ 					DRM_ERROR("L2T, T2L Partial is cayman only !\n");
+ 					return -EINVAL;
+ 				}
+ 				ib[idx+1] += (u32)(src_reloc->lobj.gpu_offset >> 8);
+ 				ib[idx+4] += (u32)(dst_reloc->lobj.gpu_offset >> 8);
+ 				p->idx += 13;
+ 				break;
+ 			/* Copy L2T broadcast (tile units) */
+ 			case 0x4f:
+ 				/* L2T, broadcast */
 -				if (ib[idx + 2] & (1 << 31)) {
++				if (radeon_get_ib_value(p, idx + 2) & (1 << 31)) {
+ 					DRM_ERROR("bad L2T, broadcast DMA_PACKET_COPY\n");
+ 					return -EINVAL;
+ 				}
+ 				r = r600_dma_cs_next_reloc(p, &dst2_reloc);
+ 				if (r) {
+ 					DRM_ERROR("bad L2T, broadcast DMA_PACKET_COPY\n");
+ 					return -EINVAL;
+ 				}
 -				dst_offset = ib[idx+1];
++				dst_offset = radeon_get_ib_value(p, idx+1);
+ 				dst_offset <<= 8;
 -				dst2_offset = ib[idx+2];
++				dst2_offset = radeon_get_ib_value(p, idx+2);
+ 				dst2_offset <<= 8;
 -				src_offset = ib[idx+8];
 -				src_offset |= ((u64)(ib[idx+9] & 0xff)) << 32;
++				src_offset = radeon_get_ib_value(p, idx+8);
++				src_offset |= ((u64)(radeon_get_ib_value(p, idx+9) & 0xff)) << 32;
+ 				if ((src_offset + (count * 4)) > radeon_bo_size(src_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2T, broadcast src buffer too small (%llu %lu)\n",
+ 							src_offset + (count * 4), radeon_bo_size(src_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				if ((dst_offset + (count * 4)) > radeon_bo_size(dst_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2T, broadcast dst buffer too small (%llu %lu)\n",
+ 							dst_offset + (count * 4), radeon_bo_size(dst_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				if ((dst2_offset + (count * 4)) > radeon_bo_size(dst2_reloc->robj)) {
+ 					dev_warn(p->dev, "DMA L2T, broadcast dst2 buffer too small (%llu %lu)\n",
+ 							dst2_offset + (count * 4), radeon_bo_size(dst2_reloc->robj));
+ 					return -EINVAL;
+ 				}
+ 				ib[idx+1] += (u32)(dst_reloc->lobj.gpu_offset >> 8);
+ 				ib[idx+2] += (u32)(dst2_reloc->lobj.gpu_offset >> 8);
+ 				ib[idx+8] += (u32)(src_reloc->lobj.gpu_offset & 0xfffffffc);
+ 				ib[idx+9] += upper_32_bits(src_reloc->lobj.gpu_offset) & 0xff;
+ 				p->idx += 10;
+ 				break;
+ 			default:
 -				DRM_ERROR("bad DMA_PACKET_COPY [%6d] 0x%08x invalid sub cmd\n", idx, ib[idx+0]);
++				DRM_ERROR("bad DMA_PACKET_COPY [%6d] 0x%08x invalid sub cmd\n", idx, radeon_get_ib_value(p, idx+0));
+ 				return -EINVAL;
  			}
  			break;
  		case DMA_PACKET_CONSTANT_FILL:

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2012-11-30  1:22 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2012-11-30  1:22 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Kelly Doran, Ben Skeggs

[-- Attachment #1: Type: text/plain, Size: 990 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/nouveau/core/engine/disp/nv50.c between commit
11d92561c81b ("drm/nvc0/disp: fix regression in vblank semaphore
release") from Linus' tree and commit 370c00f939c5 ("drm/nv50/disp:
initial implementation of the various channel object classes") from the
drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
index 15b182c,c6f8005..0000000
--- a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
+++ b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
@@@ -22,7 -22,10 +22,11 @@@
   * Authors: Ben Skeggs
   */
  
+ #include <core/object.h>
+ #include <core/parent.h>
+ #include <core/handle.h>
+ #include <core/class.h>
 +#include <subdev/bar.h>
  
  #include <engine/software.h>
  #include <engine/disp.h>

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2012-10-04  2:00 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2012-10-04  2:00 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Shobhit Kumar, Paulo Zanoni,
	Daniel Vetter, David Howells

[-- Attachment #1: Type: text/plain, Size: 1977 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got conflicts in
drivers/gpu/drm/i915/intel_dp.c and drivers/gpu/drm/i915/intel_drv.h
between commit 760285e7e7ab ("UAPI: (Scripted) Convert #include "..." to
#include <path/...> in drivers/gpu/") from Linus' tree and commit 54d63ca6605d
("drm/i915: Move DP structs to shared location") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/i915/intel_dp.c
index f1bd4f4,1474f84..0000000
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@@ -28,16 -28,15 +28,14 @@@
  #include <linux/i2c.h>
  #include <linux/slab.h>
  #include <linux/export.h>
 -#include "drmP.h"
 -#include "drm.h"
 -#include "drm_crtc.h"
 -#include "drm_crtc_helper.h"
 -#include "drm_edid.h"
 +#include <drm/drmP.h>
 +#include <drm/drm_crtc.h>
 +#include <drm/drm_crtc_helper.h>
 +#include <drm/drm_edid.h>
  #include "intel_drv.h"
 -#include "i915_drm.h"
 +#include <drm/i915_drm.h>
  #include "i915_drv.h"
- #include <drm/drm_dp_helper.h>
  
- #define DP_RECEIVER_CAP_SIZE	0xf
  #define DP_LINK_STATUS_SIZE	6
  #define DP_LINK_CHECK_TIMEOUT	(10 * 1000)
  
diff --cc drivers/gpu/drm/i915/intel_drv.h
index 7db8490,351fd71..0000000
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@@ -26,11 -26,12 +26,12 @@@
  #define __INTEL_DRV_H__
  
  #include <linux/i2c.h>
 -#include "i915_drm.h"
 +#include <drm/i915_drm.h>
  #include "i915_drv.h"
 -#include "drm_crtc.h"
 -#include "drm_crtc_helper.h"
 -#include "drm_fb_helper.h"
 -#include "drm_dp_helper.h"
 +#include <drm/drm_crtc.h>
 +#include <drm/drm_crtc_helper.h>
 +#include <drm/drm_fb_helper.h>
++#include <drm/drm_dp_helper.h>
  
  #define _wait_for(COND, MS, W) ({ \
  	unsigned long timeout__ = jiffies + msecs_to_jiffies(MS);	\

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2012-10-04  1:54 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2012-10-04  1:54 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, David Howells, Laurent Pinchart, Alan Cox

[-- Attachment #1: Type: text/plain, Size: 1012 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/gma500/psb_drv.h between commit 760285e7e7ab ("UAPI:
(Scripted) Convert #include "..." to #include <path/...> in
drivers/gpu/") from Linus' tree and commit 4d46259f00c6 ("drm: gma500:
Kill the GEM glue layer") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/gma500/psb_drv.h
index b15282f,223ff5b..0000000
--- a/drivers/gpu/drm/gma500/psb_drv.h
+++ b/drivers/gpu/drm/gma500/psb_drv.h
@@@ -23,11 -23,11 +23,11 @@@
  #include <linux/kref.h>
  
  #include <drm/drmP.h>
 -#include "drm_global.h"
 -#include "gma_drm.h"
 +#include <drm/drm_global.h>
- #include "gem_glue.h"
 +#include <drm/gma_drm.h>
  #include "psb_reg.h"
  #include "psb_intel_drv.h"
+ #include "intel_bios.h"
  #include "gtt.h"
  #include "power.h"
  #include "opregion.h"

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2012-09-17  4:53 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2012-09-17  4:53 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Alexander Shishkin, Daniel Vetter, Jani Nikula

[-- Attachment #1: Type: text/plain, Size: 975 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/i915_dma.c between commit 99d0b1db6ccd ("drm/i915:
initialize dpio_lock spin lock") from Linus' tree and commit c6a828d3269a
("drm/i915: move all rps state into dev_priv->rps") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/i915/i915_dma.c
index 914c0df,2c09900..0000000
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@@ -1586,8 -1606,7 +1606,8 @@@ int i915_driver_load(struct drm_device 
  
  	spin_lock_init(&dev_priv->irq_lock);
  	spin_lock_init(&dev_priv->error_lock);
- 	spin_lock_init(&dev_priv->rps_lock);
+ 	spin_lock_init(&dev_priv->rps.lock);
 +	spin_lock_init(&dev_priv->dpio_lock);
  
  	if (IS_IVYBRIDGE(dev) || IS_HASWELL(dev))
  		dev_priv->num_pipe = 3;

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2012-08-24  7:12   ` Dave Airlie
@ 2012-08-24 20:29     ` Sedat Dilek
  0 siblings, 0 replies; 131+ messages in thread
From: Sedat Dilek @ 2012-08-24 20:29 UTC (permalink / raw)
  To: Dave Airlie
  Cc: Jani Nikula, Stephen Rothwell, Dave Airlie, linux-next,
	linux-kernel, Daniel Vetter

[-- Attachment #1: Type: text/plain, Size: 1383 bytes --]

On Fri, Aug 24, 2012 at 9:12 AM, Dave Airlie <airlied@gmail.com> wrote:
> On Fri, Aug 24, 2012 at 5:13 PM, Jani Nikula <jani.nikula@intel.com> wrote:
>> On Fri, 24 Aug 2012, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>>> Hi Dave,
>>>
>>> Today's linux-next merge of the drm tree got a conflict in
>>> drivers/gpu/drm/i915/intel_modes.c between commit 4eab81366465
>>> ("drm/i915: extract connector update from intel_ddc_get_modes() for
>>> reuse") from Linus' tree and commit 451023dc32d4 ("drm: remove the
>>> raw_edid field from struct drm_display_info") from the drm tree.
>>
>> Ugh, both from me, sorry about that. Wasn't sure when or in what order
>> they'd go in.
>>
>>> I fixed it up (see below) and can carry the fix as necessary.
>>
>> I'm not quite sure what the patch below is against, but just removing
>> the reference to raw_edid from a slightly different place is the way to
>> go. Like you seem to do, so:
>>
>> Acked-by: Jani Nikula <jani.nikula@intel.com>
>>
>> I can also provide a patch against drm-next if needed.
>
> That applied fine, I pulled it in for tomorrow -next.
>

Is that the correct fix for both issues reported by Stephen?

- Sedat -

> Dave.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-next" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

[-- Attachment #2: 0001-drm-i915-Context-fixes.patch --]
[-- Type: application/octet-stream, Size: 1494 bytes --]

From 94aee4eb3dee5713f7c34c1d97050c481d1233d9 Mon Sep 17 00:00:00 2001
From: Sedat Dilek <sedat.dilek@gmail.com>
Date: Fri, 24 Aug 2012 22:24:31 +0200
Subject: [PATCH -next] drm: i915: Context fixes


Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
---
 drivers/gpu/drm/i915/i915_gem.c    |    4 ++--
 drivers/gpu/drm/i915/intel_modes.c |    1 -
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 4f6841d..e8a5cb2 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2273,11 +2273,11 @@ int i915_gpu_idle(struct drm_device *dev)
 
 	/* Flush everything onto the inactive list. */
 	for_each_ring(ring, dev_priv, i) {
-		ret = i915_switch_context(ring, NULL, DEFAULT_CONTEXT_ID);
+		ret = i915_ring_idle(ring);
 		if (ret)
 			return ret;
 
-		ret = i915_ring_idle(ring);
+		ret = i915_switch_context(ring, NULL, DEFAULT_CONTEXT_ID);
 		if (ret)
 			return ret;
 
diff --git a/drivers/gpu/drm/i915/intel_modes.c b/drivers/gpu/drm/i915/intel_modes.c
index 29b7259..4bc1c0f 100644
--- a/drivers/gpu/drm/i915/intel_modes.c
+++ b/drivers/gpu/drm/i915/intel_modes.c
@@ -45,7 +45,6 @@ int intel_connector_update_modes(struct drm_connector *connector,
 	drm_mode_connector_update_edid_property(connector, edid);
 	ret = drm_add_edid_modes(connector, edid);
 	drm_edid_to_eld(connector, edid);
-	connector->display_info.raw_edid = NULL;
 	kfree(edid);
 
 	return ret;
-- 
1.7.9.5


^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2012-08-24  2:19 Stephen Rothwell
@ 2012-08-24  7:13 ` Jani Nikula
  2012-08-24  7:12   ` Dave Airlie
  0 siblings, 1 reply; 131+ messages in thread
From: Jani Nikula @ 2012-08-24  7:13 UTC (permalink / raw)
  To: Stephen Rothwell, Dave Airlie; +Cc: linux-next, linux-kernel, Daniel Vetter

On Fri, 24 Aug 2012, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> Hi Dave,
>
> Today's linux-next merge of the drm tree got a conflict in
> drivers/gpu/drm/i915/intel_modes.c between commit 4eab81366465
> ("drm/i915: extract connector update from intel_ddc_get_modes() for
> reuse") from Linus' tree and commit 451023dc32d4 ("drm: remove the
> raw_edid field from struct drm_display_info") from the drm tree.

Ugh, both from me, sorry about that. Wasn't sure when or in what order
they'd go in.

> I fixed it up (see below) and can carry the fix as necessary.

I'm not quite sure what the patch below is against, but just removing
the reference to raw_edid from a slightly different place is the way to
go. Like you seem to do, so:

Acked-by: Jani Nikula <jani.nikula@intel.com>

I can also provide a patch against drm-next if needed.

BR,
Jani.

> -- 
> Cheers,
> Stephen Rothwell                    sfr@canb.auug.org.au
>
> diff --cc drivers/gpu/drm/i915/intel_modes.c
> index 29b7259,7a5238f..0000000
> --- a/drivers/gpu/drm/i915/intel_modes.c
> +++ b/drivers/gpu/drm/i915/intel_modes.c
> @@@ -33,25 -33,6 +33,24 @@@
>   #include "i915_drv.h"
>   
>   /**
>  + * intel_connector_update_modes - update connector from edid
>  + * @connector: DRM connector device to use
>  + * @edid: previously read EDID information
>  + */
>  +int intel_connector_update_modes(struct drm_connector *connector,
>  +				struct edid *edid)
>  +{
>  +	int ret;
>  +
>  +	drm_mode_connector_update_edid_property(connector, edid);
>  +	ret = drm_add_edid_modes(connector, edid);
>  +	drm_edid_to_eld(connector, edid);
> - 	connector->display_info.raw_edid = NULL;
>  +	kfree(edid);
>  +
>  +	return ret;
>  +}
>  +
>  +/**
>    * intel_ddc_get_modes - get modelist from monitor
>    * @connector: DRM connector device to use
>    * @adapter: i2c adapter

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2012-08-24  7:13 ` Jani Nikula
@ 2012-08-24  7:12   ` Dave Airlie
  2012-08-24 20:29     ` Sedat Dilek
  0 siblings, 1 reply; 131+ messages in thread
From: Dave Airlie @ 2012-08-24  7:12 UTC (permalink / raw)
  To: Jani Nikula
  Cc: Stephen Rothwell, Dave Airlie, linux-next, linux-kernel, Daniel Vetter

On Fri, Aug 24, 2012 at 5:13 PM, Jani Nikula <jani.nikula@intel.com> wrote:
> On Fri, 24 Aug 2012, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>> Hi Dave,
>>
>> Today's linux-next merge of the drm tree got a conflict in
>> drivers/gpu/drm/i915/intel_modes.c between commit 4eab81366465
>> ("drm/i915: extract connector update from intel_ddc_get_modes() for
>> reuse") from Linus' tree and commit 451023dc32d4 ("drm: remove the
>> raw_edid field from struct drm_display_info") from the drm tree.
>
> Ugh, both from me, sorry about that. Wasn't sure when or in what order
> they'd go in.
>
>> I fixed it up (see below) and can carry the fix as necessary.
>
> I'm not quite sure what the patch below is against, but just removing
> the reference to raw_edid from a slightly different place is the way to
> go. Like you seem to do, so:
>
> Acked-by: Jani Nikula <jani.nikula@intel.com>
>
> I can also provide a patch against drm-next if needed.

That applied fine, I pulled it in for tomorrow -next.

Dave.

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2012-08-24  2:20 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2012-08-24  2:20 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Chris Wilson, Daniel Vetter, Ben Widawsky

[-- Attachment #1: Type: text/plain, Size: 974 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/i915_gem.c between commit b6c7488df68a
("drm/i915/contexts: fix list corruption") from Linus' tree and commit
69c2fc891343 ("drm/i915: Remove the per-ring write list") from the drm
tree.

Just context changes.  I fixed it up (see below) and can carry the fix as
necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/i915/i915_gem.c
index 489e2b1,0514593..0000000
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@@ -2369,13 -2277,9 +2277,9 @@@ int i915_gpu_idle(struct drm_device *de
  		if (ret)
  			return ret;
  
 -		ret = i915_switch_context(ring, NULL, DEFAULT_CONTEXT_ID);
 +		ret = i915_ring_idle(ring);
  		if (ret)
  			return ret;
- 
- 		/* Is the device fubar? */
- 		if (WARN_ON(!list_empty(&ring->gpu_write_list)))
- 			return -EBUSY;
  	}
  
  	return 0;

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2012-08-24  2:19 Stephen Rothwell
  2012-08-24  7:13 ` Jani Nikula
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2012-08-24  2:19 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Jani Nikula, Daniel Vetter

[-- Attachment #1: Type: text/plain, Size: 1358 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/intel_modes.c between commit 4eab81366465
("drm/i915: extract connector update from intel_ddc_get_modes() for
reuse") from Linus' tree and commit 451023dc32d4 ("drm: remove the
raw_edid field from struct drm_display_info") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/i915/intel_modes.c
index 29b7259,7a5238f..0000000
--- a/drivers/gpu/drm/i915/intel_modes.c
+++ b/drivers/gpu/drm/i915/intel_modes.c
@@@ -33,25 -33,6 +33,24 @@@
  #include "i915_drv.h"
  
  /**
 + * intel_connector_update_modes - update connector from edid
 + * @connector: DRM connector device to use
 + * @edid: previously read EDID information
 + */
 +int intel_connector_update_modes(struct drm_connector *connector,
 +				struct edid *edid)
 +{
 +	int ret;
 +
 +	drm_mode_connector_update_edid_property(connector, edid);
 +	ret = drm_add_edid_modes(connector, edid);
 +	drm_edid_to_eld(connector, edid);
- 	connector->display_info.raw_edid = NULL;
 +	kfree(edid);
 +
 +	return ret;
 +}
 +
 +/**
   * intel_ddc_get_modes - get modelist from monitor
   * @connector: DRM connector device to use
   * @adapter: i2c adapter

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2012-07-19  1:38 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2012-07-19  1:38 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Alex Deucher, "Christian König"

[-- Attachment #1: Type: text/plain, Size: 2984 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/radeon/radeon_gart.c between commit c21b328ea8c7
("drm/radeon: fix VM page table setup on SI") from Linus' tree and commit
c6105f249a63 ("drm/radeon: remove vm_manager start/suspend") from the drm
tree.

I fixed it up (I think - see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/radeon_gart.c
index 84b648a,56752da..0000000
--- a/drivers/gpu/drm/radeon/radeon_gart.c
+++ b/drivers/gpu/drm/radeon/radeon_gart.c
@@@ -282,31 -282,61 +282,62 @@@ void radeon_gart_fini(struct radeon_dev
   *
   * TODO bind a default page at vm initialization for default address
   */
+ 
  int radeon_vm_manager_init(struct radeon_device *rdev)
  {
+ 	struct radeon_vm *vm;
+ 	struct radeon_bo_va *bo_va;
  	int r;
  
- 	rdev->vm_manager.enabled = false;
+ 	if (!rdev->vm_manager.enabled) {
+ 		/* mark first vm as always in use, it's the system one */
++		/* allocate enough for 2 full VM pts */
+ 		r = radeon_sa_bo_manager_init(rdev, &rdev->vm_manager.sa_manager,
 -					      rdev->vm_manager.max_pfn * 8,
++					      rdev->vm_manager.max_pfn * 8 * 2,
+ 					      RADEON_GEM_DOMAIN_VRAM);
+ 		if (r) {
+ 			dev_err(rdev->dev, "failed to allocate vm bo (%dKB)\n",
+ 				(rdev->vm_manager.max_pfn * 8) >> 10);
+ 			return r;
+ 		}
  
- 	/* mark first vm as always in use, it's the system one */
- 	/* allocate enough for 2 full VM pts */
- 	r = radeon_sa_bo_manager_init(rdev, &rdev->vm_manager.sa_manager,
- 				      rdev->vm_manager.max_pfn * 8 * 2,
- 				      RADEON_GEM_DOMAIN_VRAM);
- 	if (r) {
- 		dev_err(rdev->dev, "failed to allocate vm bo (%dKB)\n",
- 			(rdev->vm_manager.max_pfn * 8) >> 10);
- 		return r;
+ 		r = rdev->vm_manager.funcs->init(rdev);
+ 		if (r)
+ 			return r;
+ 	
+ 		rdev->vm_manager.enabled = true;
+ 
+ 		r = radeon_sa_bo_manager_start(rdev, &rdev->vm_manager.sa_manager);
+ 		if (r)
+ 			return r;
  	}
  
- 	r = rdev->vm_manager.funcs->init(rdev);
- 	if (r == 0)
- 		rdev->vm_manager.enabled = true;
+ 	/* restore page table */
+ 	list_for_each_entry(vm, &rdev->vm_manager.lru_vm, list) {
+ 		if (vm->id == -1)
+ 			continue;
  
- 	return r;
+ 		list_for_each_entry(bo_va, &vm->va, vm_list) {
+ 			struct ttm_mem_reg *mem = NULL;
+ 			if (bo_va->valid)
+ 				mem = &bo_va->bo->tbo.mem;
+ 
+ 			bo_va->valid = false;
+ 			r = radeon_vm_bo_update_pte(rdev, vm, bo_va->bo, mem);
+ 			if (r) {
+ 				DRM_ERROR("Failed to update pte for vm %d!\n", vm->id);
+ 			}
+ 		}
+ 
+ 		r = rdev->vm_manager.funcs->bind(rdev, vm, vm->id);
+ 		if (r) {
+ 			DRM_ERROR("Failed to bind vm %d!\n", vm->id);
+ 		}
+ 	}
+ 	return 0;
  }
  
- /* cs mutex must be lock */
+ /* global mutex must be lock */
  static void radeon_vm_unbind_locked(struct radeon_device *rdev,
  				    struct radeon_vm *vm)
  {

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2012-07-16  3:00 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2012-07-16  3:00 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Daniel Vetter

[-- Attachment #1: Type: text/plain, Size: 1871 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/intel_display.c between commit 7aa1e7f06d6e ("Revert
"drm/i915: allow PCH PWM override on IVB"") from Linus' tree and commit
8090c6b9daa0 ("drm/i915: wrap up gt powersave enabling functions") from
the drm tree.

Just context changes (I think).  I fixed it up (see below) and can carry
the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/i915/intel_display.c
index a8538ac,0972f49..0000000
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@@ -6921,22 -7172,31 +7172,16 @@@ static void i915_disable_vga(struct drm
  	POSTING_READ(vga_reg);
  }
  
 -static void ivb_pch_pwm_override(struct drm_device *dev)
 -{
 -	struct drm_i915_private *dev_priv = dev->dev_private;
 -
 -	/*
 -	 * IVB has CPU eDP backlight regs too, set things up to let the
 -	 * PCH regs control the backlight
 -	 */
 -	I915_WRITE(BLC_PWM_CPU_CTL2, BLM_PWM_ENABLE);
 -	I915_WRITE(BLC_PWM_CPU_CTL, 0);
 -	I915_WRITE(BLC_PWM_PCH_CTL1, BLM_PCH_PWM_ENABLE | BLM_PCH_OVERRIDE_ENABLE);
 -}
 -
  void intel_modeset_init_hw(struct drm_device *dev)
  {
- 	struct drm_i915_private *dev_priv = dev->dev_private;
+ 	intel_prepare_ddi(dev);
  
  	intel_init_clock_gating(dev);
  
- 	if (IS_IRONLAKE_M(dev)) {
- 		ironlake_enable_drps(dev);
- 		ironlake_enable_rc6(dev);
- 		intel_init_emon(dev);
- 	}
+ 	mutex_lock(&dev->struct_mutex);
+ 	intel_enable_gt_powersave(dev);
+ 	mutex_unlock(&dev->struct_mutex);
  
- 	if ((IS_GEN6(dev) || IS_GEN7(dev)) && !IS_VALLEYVIEW(dev)) {
- 		gen6_enable_rps(dev_priv);
- 		gen6_update_ring_freq(dev_priv);
- 	}
 -	if (IS_IVYBRIDGE(dev))
 -		ivb_pch_pwm_override(dev);
  }
  
  void intel_modeset_init(struct drm_device *dev)

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2012-06-29  3:30 Stephen Rothwell
@ 2012-06-29  9:01 ` Daniel Vetter
  0 siblings, 0 replies; 131+ messages in thread
From: Daniel Vetter @ 2012-06-29  9:01 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Dave Airlie, linux-next, linux-kernel

On Fri, Jun 29, 2012 at 5:30 AM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> Hi Dave,
>
> Today's linux-next merge of the drm tree got a conflict in
> drivers/gpu/drm/i915/intel_display.c between commit 7aa1e7f06d6e ("Revert
> "drm/i915: allow PCH PWM override on IVB"") from Linus' tree and commit
> 7cf416014813 ("drm/i915: clear up backlight #define confusion on gen4+")
> from the drm tree.
>
> The former removed the function ivb_pch_pwm_override() that is modified
> by the latter, so I did that - or should I have just ignored the revert
> patch?

Nope, the revert should take precedence because that code is bogus -
the change in -next is just replacing a magic value with a proper
#define.

Cheers, Daniel
-- 
Daniel Vetter
daniel.vetter@ffwll.ch - +41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2012-06-29  3:30 Stephen Rothwell
  2012-06-29  9:01 ` Daniel Vetter
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2012-06-29  3:30 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Daniel Vetter

[-- Attachment #1: Type: text/plain, Size: 542 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/intel_display.c between commit 7aa1e7f06d6e ("Revert
"drm/i915: allow PCH PWM override on IVB"") from Linus' tree and commit
7cf416014813 ("drm/i915: clear up backlight #define confusion on gen4+")
from the drm tree.

The former removed the function ivb_pch_pwm_override() that is modified
by the latter, so I did that - or should I have just ignored the revert
patch?
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2012-05-14  4:08 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2012-05-14  4:08 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Daniel Vetter

[-- Attachment #1: Type: text/plain, Size: 422 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/intel_ringbuffer.c between commit 2e7a44814d80
("drm/i915: Do no set Stencil Cache eviction LRA w/a on gen7+") from
Linus' tree and commit 6b26c86d6157 ("drm/i915: create macros to handle
masked bits") from the drm tree.

I used the drm tree version.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2012-05-07  3:45 Stephen Rothwell
@ 2012-05-07  8:06 ` Daniel Vetter
  0 siblings, 0 replies; 131+ messages in thread
From: Daniel Vetter @ 2012-05-07  8:06 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Dave Airlie, linux-next, linux-kernel, Chris Wilson

On Mon, May 7, 2012 at 5:45 AM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> Today's linux-next merge of the drm tree got a conflict in
> drivers/gpu/drm/i915/intel_display.c between commit 074b5e1a99fb
> ("drm/i915: Do not read non-existent DPLL registers on PCH hardware")
> from Linus' tree and I have no idea which commits from the drm tree.

The merge should be pretty simple, the problem is that git gets
completely confused.The offending commits in drm-next are
14415745b2..1fa611065 which simply moves a few functions from
intel_display.c to intel_pm.c. The offending commit in -fixes doesn't
touch these functions at all.

The problem seems to be that git diff gets completely confused:

$ git diff 14415745b2..1fa611065
is a nice mess in intel_display.c, and the diff leaks into totally
unrelated functions, whereas
$git diff --minimal  14415745b2..1fa611065
seems to be exactly what we want.

Unfortunately I haven't found any way to teach similar smarts to the
merge diff and merge conflict generation - with the minimal diff there
really shouldn't be any conflict with this patch

> I fixed it up (I think), but, again, the merge diff is way to log to
> post ...
>
> Again, Dave, can you cherry-pick or merge the commits that affect the drm
> tree from Linus' tree, please?  Surely those fixes are needed in the drm
> tree as well - or if they are not, then let me know and I will just use
> the drm tree's version of this file.

I'll sort this out with Dave. The problem though is that because git
is so confused, almost every intel_display.c patch in -fixes conflicts
with -next. And every time we change something in -next, the confused
diff moves around a bit, making also git rerere pretty useless. So
we'd need a backmarge of -fixes into -next an awful lot of times,
which is why I've held off doing the merge for as long as possible.

Does any of the git gurus have a good idea for how to get myself out
of this corner?

Another thing: Can you please add the new drm/i915 -next tree to
linux-next? With the new drm/i915 -next process we have about 2-3
weeks of lead time between the intel tree and Dave's tree for internal
QA and testing, so that we can sort out these issues earlier:

git://people.freedesktop.org/~danvet/drm-intel drm-intel-next-queued

[Note the -queued, -next is frozen every 2 weeks so that QA has a
known base for the manual testing cycle.]

Cheers, Daniel
-- 
Daniel Vetter
daniel.vetter@ffwll.ch - +41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2012-05-07  3:45 Stephen Rothwell
  2012-05-07  8:06 ` Daniel Vetter
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2012-05-07  3:45 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Chris Wilson, Daniel Vetter

[-- Attachment #1: Type: text/plain, Size: 695 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/intel_display.c between commit 074b5e1a99fb
("drm/i915: Do not read non-existent DPLL registers on PCH hardware")
from Linus' tree and I have no idea which commits from the drm tree.

I fixed it up (I think), but, again, the merge diff is way to log to
post ...

Again, Dave, can you cherry-pick or merge the commits that affect the drm
tree from Linus' tree, please?  Surely those fixes are needed in the drm
tree as well - or if they are not, then let me know and I will just use
the drm tree's version of this file.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2012-05-03  3:07 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2012-05-03  3:07 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Chris Wilson

[-- Attachment #1: Type: text/plain, Size: 711 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/intel_display.c between commit 99d9acdd0c5c
("drm/i915: Do not set "Enable Panel Fitter" on SNB pageflips") from
Linus' tree and (I am not sure which) commits from the drm tree.

I fixed it up (the former patch got applied in completely the wrong place
by git merge).  This file looks like it was massively rewritten in the
drm tree :-(.  I have not included the merge diff because it was >2000
lines.

Dave, as an experiment, you might like to pull that former patch into
your tree and see if that fixes the merge with Linus' tree.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2012-04-13  3:38 Stephen Rothwell
@ 2012-04-13  8:59 ` Daniel Vetter
  0 siblings, 0 replies; 131+ messages in thread
From: Daniel Vetter @ 2012-04-13  8:59 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Dave Airlie, linux-next, linux-kernel, Daniel Vetter, Daniel Kurtz

On Fri, Apr 13, 2012 at 01:38:17PM +1000, Stephen Rothwell wrote:
> Hi Dave,
> 
> Today's linux-next merge of the drm tree got a conflict in
> drivers/gpu/drm/i915/intel_i2c.c between commit 6a562e3daee2 ("Revert
> "drm/i915: reenable gmbus on gen3+ again"") from Linus' tree and commits
> 0fb3f969c868 ("drm/i915: enable gmbus on gen2") and 2ed06c93a1fc
> ("drm/i915/intel_i2c: gmbus disabled and reserved ports are invalid")
> from the drm tree.
> 
> I just used the drm tree version.

That's correct, gmbus is too broken for 3.4, but we already have quite a
few fixes for known issues queued for 3.5, so leaving it enabled there is
the right thing for -next. I plan to do a backmerge as soon as -rc3 is out
there, I have a few more patches for drm-intel-next that depend/conflict
with new patches merged to Linus' tree.

Thanks, Daniel
-- 
Daniel Vetter
Mail: daniel@ffwll.ch
Mobile: +41 (0)79 365 57 48

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2012-04-13  3:38 Stephen Rothwell
  2012-04-13  8:59 ` Daniel Vetter
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2012-04-13  3:38 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Daniel Vetter, Daniel Kurtz

[-- Attachment #1: Type: text/plain, Size: 483 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/intel_i2c.c between commit 6a562e3daee2 ("Revert
"drm/i915: reenable gmbus on gen3+ again"") from Linus' tree and commits
0fb3f969c868 ("drm/i915: enable gmbus on gen2") and 2ed06c93a1fc
("drm/i915/intel_i2c: gmbus disabled and reserved ports are invalid")
from the drm tree.

I just used the drm tree version.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2012-03-05  3:47 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2012-03-05  3:47 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Chris Wilson

[-- Attachment #1: Type: text/plain, Size: 1382 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/intel_ringbuffer.c between commit 5d031e5b633d
("drm/i915: Remove use of the autoreported ringbuffer HEAD position")
from Linus' tree and commit a71d8d94525e ("drm/i915: Record the tail at
each request and use it to estimate the head") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/i915/intel_ringbuffer.c
index 5361915,ca3972f..0000000
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@@ -1132,6 -1190,23 +1190,11 @@@ int intel_wait_ring_buffer(struct intel
  	struct drm_device *dev = ring->dev;
  	struct drm_i915_private *dev_priv = dev->dev_private;
  	unsigned long end;
+ 	int ret;
 -	u32 head;
 -
 -	/* If the reported head position has wrapped or hasn't advanced,
 -	 * fallback to the slow and accurate path.
 -	 */
 -	head = intel_read_status_page(ring, 4);
 -	if (head > ring->head) {
 -		ring->head = head;
 -		ring->space = ring_space(ring);
 -		if (ring->space >= n)
 -			return 0;
 -	}
+ 
+ 	ret = intel_ring_wait_request(ring, n);
+ 	if (ret != -ENOSPC)
+ 		return ret;
  
  	trace_i915_ring_wait_begin(ring);
  	if (drm_core_check_feature(dev, DRIVER_GEM))

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2011-12-28  2:53 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2011-12-28  2:53 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Xi Wang, Jesse Barnes, Ville Syrjälä

[-- Attachment #1: Type: text/plain, Size: 1729 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c between commit 8a78389651b3 ("vmwgfx:
fix incorrect VRAM size check in vmw_kms_fb_create()") from Linus' tree
and commit 308e5bcbdb10 ("drm: add an fb creation ioctl that takes a
pixel format v5") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
index f94b33a,c4bdef3..0000000
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
@@@ -1093,17 -1093,25 +1093,25 @@@ static struct drm_framebuffer *vmw_kms_
  	struct vmw_surface *surface = NULL;
  	struct vmw_dma_buffer *bo = NULL;
  	struct ttm_base_object *user_obj;
+ 	struct drm_mode_fb_cmd mode_cmd;
 -	u64 required_size;
  	int ret;
  
+ 	mode_cmd.width = mode_cmd2->width;
+ 	mode_cmd.height = mode_cmd2->height;
+ 	mode_cmd.pitch = mode_cmd2->pitches[0];
+ 	mode_cmd.handle = mode_cmd2->handles[0];
+ 	drm_fb_get_bpp_depth(mode_cmd2->pixel_format, &mode_cmd.depth,
+ 				    &mode_cmd.bpp);
+ 
  	/**
  	 * This code should be conditioned on Screen Objects not being used.
  	 * If screen objects are used, we can allocate a GMR to hold the
  	 * requested framebuffer.
  	 */
  
 -	required_size = mode_cmd.pitch * mode_cmd.height;
 -	if (unlikely(required_size > (u64) dev_priv->vram_size)) {
 +	if (!vmw_kms_validate_mode_vram(dev_priv,
- 					mode_cmd->pitch,
- 					mode_cmd->height)) {
++					mode_cmd.pitch,
++					mode_cmd.height)) {
  		DRM_ERROR("VRAM size is too small for requested mode.\n");
  		return ERR_PTR(-ENOMEM);
  	}

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2011-12-28  2:44 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2011-12-28  2:44 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Alex Deucher, Jerome Glisse

[-- Attachment #1: Type: text/plain, Size: 1560 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/radeon/evergreen.c between commit 77e00f2ea94a
("drm/radeon/kms: bail on BTC parts if MC ucode is missing") from Linus'
tree and commit b15ba51207e5 ("drm/radeon: introduce a sub allocator and
convert ib pool to it v4") from the drm tree.

I think it is just context changes.  I fixed it up (see below) and can
carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/evergreen.c
index 92c9628,1934728..0000000
--- a/drivers/gpu/drm/radeon/evergreen.c
+++ b/drivers/gpu/drm/radeon/evergreen.c
@@@ -3264,30 -3337,6 +3337,18 @@@ int evergreen_init(struct radeon_devic
  		evergreen_pcie_gart_fini(rdev);
  		rdev->accel_working = false;
  	}
- 	if (rdev->accel_working) {
- 		r = radeon_ib_pool_init(rdev);
- 		if (r) {
- 			DRM_ERROR("radeon: failed initializing IB pool (%d).\n", r);
- 			rdev->accel_working = false;
- 		}
- 		r = r600_ib_test(rdev);
- 		if (r) {
- 			DRM_ERROR("radeon: failed testing IB (%d).\n", r);
- 			rdev->accel_working = false;
- 		}
- 	}
 +
 +	/* Don't start up if the MC ucode is missing on BTC parts.
 +	 * The default clocks and voltages before the MC ucode
 +	 * is loaded are not suffient for advanced operations.
 +	 */
 +	if (ASIC_IS_DCE5(rdev)) {
 +		if (!rdev->mc_fw && !(rdev->flags & RADEON_IS_IGP)) {
 +			DRM_ERROR("radeon: MC ucode required for NI+.\n");
 +			return -EINVAL;
 +		}
 +	}
 +
  	return 0;
  }
  

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2011-12-21  3:18 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2011-12-21  3:18 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Jakob Bornecrantz, Thomas Hellstrom,
	Jesse Barnes, Ville Syrjälä

[-- Attachment #1: Type: text/plain, Size: 2810 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c between commit e7ac9211f29f ("vmwgfx:
Refactor kms code to use vmw_user_lookup_handle helper") from Linus' tree
and commit 308e5bcbdb10 ("drm: add an fb creation ioctl that takes a
pixel format v5") from the drm tree.

I fixed it up (I think - see below) and can carry the fix as necessary.

Dave, you might like to merge the branch you sent to Linus into your
drm-next branch to fix this up.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
index 8aa1dbb,1748a71..0000000
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
@@@ -1123,29 -1041,46 +1131,29 @@@ static struct drm_framebuffer *vmw_kms_
  		return ERR_PTR(-ENOENT);
  	}
  
 -	/**
 -	 * End conditioned code.
 -	 */
 -
 -	ret = vmw_user_surface_lookup_handle(dev_priv, tfile,
 -					     mode_cmd.handle, &surface);
 +	/* returns either a dmabuf or surface */
 +	ret = vmw_user_lookup_handle(dev_priv, tfile,
- 				     mode_cmd->handle,
++				     mode_cmd.handle,
 +				     &surface, &bo);
  	if (ret)
 -		goto try_dmabuf;
 -
 -	if (!surface->scanout)
 -		goto err_not_scanout;
 -
 -	ret = vmw_kms_new_framebuffer_surface(dev_priv, file_priv, surface,
 -					      &vfb, &mode_cmd);
 -
 -	/* vmw_user_surface_lookup takes one ref so does new_fb */
 -	vmw_surface_unreference(&surface);
 -
 -	if (ret) {
 -		DRM_ERROR("failed to create vmw_framebuffer: %i\n", ret);
 -		ttm_base_object_unref(&user_obj);
 -		return ERR_PTR(ret);
 -	} else
 -		vfb->user_obj = user_obj;
 -	return &vfb->base;
 -
 -try_dmabuf:
 -	DRM_INFO("%s: trying buffer\n", __func__);
 -
 -	ret = vmw_user_dmabuf_lookup(tfile, mode_cmd.handle, &bo);
 -	if (ret) {
 -		DRM_ERROR("failed to find buffer: %i\n", ret);
 -		return ERR_PTR(-ENOENT);
 -	}
 -
 -	ret = vmw_kms_new_framebuffer_dmabuf(dev_priv, bo, &vfb,
 -					     &mode_cmd);
 -
 -	/* vmw_user_dmabuf_lookup takes one ref so does new_fb */
 -	vmw_dmabuf_unreference(&bo);
 +		goto err_out;
 +
 +	/* Create the new framebuffer depending one what we got back */
 +	if (bo)
 +		ret = vmw_kms_new_framebuffer_dmabuf(dev_priv, bo, &vfb,
- 						     mode_cmd);
++						     &mode_cmd);
 +	else if (surface)
 +		ret = vmw_kms_new_framebuffer_surface(dev_priv, file_priv,
- 						      surface, &vfb, mode_cmd);
++						      surface, &vfb, &mode_cmd);
 +	else
 +		BUG();
 +
 +err_out:
 +	/* vmw_user_lookup_handle takes one ref so does new_fb */
 +	if (bo)
 +		vmw_dmabuf_unreference(&bo);
 +	if (surface)
 +		vmw_surface_unreference(&surface);
  
  	if (ret) {
  		DRM_ERROR("failed to create vmw_framebuffer: %i\n", ret);

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2011-12-12  2:06 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2011-12-12  2:06 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Ben Skeggs, Jerome Glisse,
	Konrad Rzeszutek Wilk

[-- Attachment #1: Type: text/plain, Size: 520 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/nouveau/nouveau_sgdma.c between commit a10e9e1dbb39
("drm/nouveau: fix oopses caused by clear being called on unpopulated
ttms") from Linus' tree and commit 649bf3ca7734 ("drm/ttm: merge
ttm_backend and ttm_tt V5") from the drm tree.

I have no idea how to fix this up, so I just used the version from the
drm tree.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2011-03-09  3:41 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2011-03-09  3:41 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Ben Skeggs

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/nouveau/nouveau_mem.c between commit
ef1b287169cd3d1e428c8ed8222e0bbf733d5dbb ("drm/nouveau: fix regression
causing ttm to not be able to evict vram") from Linus' tree and commit
8f7286f8e4e80f7b868ba3d117ae900f0d207cbe ("drm/nv50: support for
compression") from the drm tree.

Just context changes.  I fixed it up (see below) and can carry the fix as
necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/nouveau/nouveau_mem.c
index b0fb9bd,63b9040..0000000
--- a/drivers/gpu/drm/nouveau/nouveau_mem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_mem.c
@@@ -724,11 -740,9 +740,11 @@@ nouveau_vram_manager_new(struct ttm_mem
  
  	ret = vram->get(dev, mem->num_pages << PAGE_SHIFT,
  			mem->page_alignment << PAGE_SHIFT, size_nc,
- 			(nvbo->tile_flags >> 8) & 0xff, &node);
+ 			(nvbo->tile_flags >> 8) & 0x3ff, &node);
 -	if (ret)
 -		return ret;
 +	if (ret) {
 +		mem->mm_node = NULL;
 +		return (ret == -ENOSPC) ? 0 : ret;
 +	}
  
  	node->page_shift = 12;
  	if (nvbo->vma.node)

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2010-10-15  1:54 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2010-10-15  1:54 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Jerome Glisse, Alex Deucher

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/radeon/r600_blit_kms.c between commit
c919b371cb734f42b1130e706ecee262f8d9261d ("drm/radeon/kms: avoid corner
case issue with unmappable vram V2") from Linus' tree and commit
b70d6bb3f67b2e2964abafb0117f1733f062cba5 ("drm/radeon/kms: clean up
r6xx/r7xx blit init (v2)") from the drm tree.

Just context.  I fixed it up (see below) and can carry the fix as
necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/r600_blit_kms.c
index 3473c007,2a4747d..0000000
--- a/drivers/gpu/drm/radeon/r600_blit_kms.c
+++ b/drivers/gpu/drm/radeon/r600_blit_kms.c
@@@ -532,7 -533,18 +533,19 @@@ int r600_blit_init(struct radeon_devic
  	memcpy(ptr + rdev->r600_blit.ps_offset, r6xx_ps, r6xx_ps_size * 4);
  	radeon_bo_kunmap(rdev->r600_blit.shader_obj);
  	radeon_bo_unreserve(rdev->r600_blit.shader_obj);
 +	rdev->mc.active_vram_size = rdev->mc.real_vram_size;
+ 
+ done:
+ 	r = radeon_bo_reserve(rdev->r600_blit.shader_obj, false);
+ 	if (unlikely(r != 0))
+ 		return r;
+ 	r = radeon_bo_pin(rdev->r600_blit.shader_obj, RADEON_GEM_DOMAIN_VRAM,
+ 			  &rdev->r600_blit.shader_gpu_addr);
+ 	radeon_bo_unreserve(rdev->r600_blit.shader_obj);
+ 	if (r) {
+ 		dev_err(rdev->dev, "(%d) pin blit object failed\n", r);
+ 		return r;
+ 	}
  	return 0;
  }
  

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2010-10-03 23:30 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2010-10-03 23:30 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Daniel Vetter, Chris Wilson

[-- Attachment #1: Type: text/plain, Size: 542 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/drm_gem.c between commit
39b4d07aa3583ceefe73622841303a0a3e942ca1 ("drm: Hold the mutex when
dropping the last GEM reference (v2)") from Linus' tree and commit
fd2e7931cdefa8e9acf63f0a4efd61ae0f89e77b ("drm: kill
gem_free_object_unlocked driver callback") from the drm tree.

It looks like the former supercedes the latter, so I used that.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2010-10-03 23:30 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2010-10-03 23:30 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Chris Wilson, Daniel Vetter

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
include/drm/drmP.h between commit
31dfbc93923c0aaa0440b809f80ff2830c6a531a ("drm: Prune GEM vma entries")
from Linus' tree and commits 793a97e4cc38f834e0488ccc1ecbfe52ff6f5b84
("drm: kill drm_map_ofs callbacks") and
cbc60ca04b342a4e1f2a1086a7277c077f07dbed ("drm: kill get_reg_ofs
callback") from the drm tree.

Just context changes.  I fixed it up (see below) and can carry the fix as
necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc include/drm/drmP.h
index 4c9461a,30e827a..0000000
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@@ -1174,9 -1158,6 +1158,7 @@@ extern int drm_release(struct inode *in
  extern int drm_mmap(struct file *filp, struct vm_area_struct *vma);
  extern int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma);
  extern void drm_vm_open_locked(struct vm_area_struct *vma);
 +extern void drm_vm_close_locked(struct vm_area_struct *vma);
- extern resource_size_t drm_core_get_map_ofs(struct drm_local_map * map);
- extern resource_size_t drm_core_get_reg_ofs(struct drm_device *dev);
  extern unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait);
  
  				/* Memory management support (drm_memory.h) */

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2010-04-28  3:58 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2010-04-28  3:58 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, Jerome Glisse, Tormod Volden, Alex Deucher

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/radeon/r300.c between commit
94f7bf647315472c80b8368c849739038e5620a3 ("drm/radeon: 9800 SE has only
one quadpipe") from Linus' tree and commit
90aca4d2740255bd130ea71a91530b9920c70abe ("drm/radeon/kms: simplify &
improve GPU reset V2") from the drm tree.

Just context changes. I fixed it up (see below) and can carry the fix for
a while.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/r300.c
index eaf1f6b,bb005bf..0000000
--- a/drivers/gpu/drm/radeon/r300.c
+++ b/drivers/gpu/drm/radeon/r300.c
@@@ -323,9 -328,9 +328,8 @@@ void r300_gpu_init(struct radeon_devic
  {
  	uint32_t gb_tile_config, tmp;
  
- 	r100_hdp_reset(rdev);
 -	/* FIXME: rv380 one pipes ? */
  	if ((rdev->family == CHIP_R300 && rdev->pdev->device != 0x4144) ||
 -	    (rdev->family == CHIP_R350)) {
 +	    (rdev->family == CHIP_R350 && rdev->pdev->device != 0x4148)) {
  		/* r300,r350 */
  		rdev->num_gb_pipes = 2;
  	} else {

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2010-04-27  2:51 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2010-04-27  2:51 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Jesse Barnes, Eric Anholt

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/i915_drv.h between commit
20bf377e679208ba9ae0edcb8c70a8f6d33d17f9 ("drm/i915: cleanup FBC buffers
at unload time") from Linus' tree and commit
8be48d924c307e72e3797ab5bde81b07a1ccc52d ("drm/kms/fb: move to using fb
helper crtc grouping instead of core crtc list") from the drm tree.

Just overlapping additions.  I fixed it up (see below) and can carry the
fix for a while.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/i915/i915_drv.h
index 6e47900,242993b..0000000
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@@ -635,8 -641,8 +645,11 @@@ typedef struct drm_i915_private 
  
  	enum no_fbc_reason no_fbc_reason;
  
 +	struct drm_mm_node *compressed_fb;
 +	struct drm_mm_node *compressed_llb;
++
+ 	/* list of fbdev register on this device */
+ 	struct intel_fbdev *fbdev;
  } drm_i915_private_t;
  
  /** driver private structure attached to each drm_gem_object */
@@@ -1142,8 -1154,10 +1161,11 @@@ extern int i915_wait_ring(struct drm_de
  
  #define HAS_PCH_SPLIT(dev) (IS_IRONLAKE(dev) ||	\
  			    IS_GEN6(dev))
 +#define HAS_PIPE_CONTROL(dev) (IS_IRONLAKE(dev) || IS_GEN6(dev))
  
+ #define INTEL_PCH_TYPE(dev) (((struct drm_i915_private *)(dev)->dev_private)->pch_type)
+ #define HAS_PCH_CPT(dev) (INTEL_PCH_TYPE(dev) == PCH_CPT)
+ 
  #define PRIMARY_RINGBUFFER_SIZE         (128*1024)
  
  #endif

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2010-04-12  5:06 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2010-04-12  5:06 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Ben Skeggs

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/nouveau/nouveau_drv.h between commit
952eb63543552deb1bf1113739d59d29172d7755 ("drm/nouveau: remove some
unused members from drm_nouveau_private") from Linus' tree and commit
386516744ba45d50f42c6999151cc210cb4f96e4 ("drm/fb: fix fbdev object model
+ cleanup properly") from the drm tree.

Just context changes.  I fixed it up (see below) and can carry the fix
for a while.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/nouveau/nouveau_drv.h
index ace630a,941339c..0000000
--- a/drivers/gpu/drm/nouveau/nouveau_drv.h
+++ b/drivers/gpu/drm/nouveau/nouveau_drv.h
@@@ -533,8 -531,7 +533,6 @@@ struct drm_nouveau_private 
  		atomic_t validate_sequence;
  	} ttm;
  
- 	struct fb_info *fbdev_info;
- 
 -	int fifo_alloc_count;
  	struct nouveau_channel *fifos[NOUVEAU_MAX_CHANNEL_NR];
  
  	struct nouveau_engine engine;

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2009-10-08  3:38   ` Dave Airlie
@ 2009-10-08  3:44     ` Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2009-10-08  3:44 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Jerome Glisse

[-- Attachment #1: Type: text/plain, Size: 387 bytes --]

Hi Dave,

On Thu, 8 Oct 2009 04:38:04 +0100 (IST) Dave Airlie <airlied@linux.ie> wrote:
>
> I'm testing the result of a merge at the moment, but I don't want to be 
> premature with pushing it out.

Very sensible, thanks.

> hopefully be there tomorrow.

Excellent.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2009-10-08  2:35 ` Stephen Rothwell
@ 2009-10-08  3:38   ` Dave Airlie
  2009-10-08  3:44     ` Stephen Rothwell
  0 siblings, 1 reply; 131+ messages in thread
From: Dave Airlie @ 2009-10-08  3:38 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linux-next, linux-kernel, Jerome Glisse


> 
> Got similar conflicts today ... any way you can sort this out, please?

I'm testing the result of a merge at the moment, but I don't want to be 
premature with pushing it out.

hopefully be there tomorrow.

Dave.

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2009-10-06  2:28 Stephen Rothwell
@ 2009-10-08  2:35 ` Stephen Rothwell
  2009-10-08  3:38   ` Dave Airlie
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2009-10-08  2:35 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Jerome Glisse

[-- Attachment #1: Type: text/plain, Size: 946 bytes --]

Hi Dave,

On Tue, 6 Oct 2009 13:28:57 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Today's linux-next merge of the drm tree got a conflict in
> drivers/gpu/drm/radeon/radeon_device.c between commit
> 28d520433b6375740990ab99d69b0d0067fd656b ("drm/vgaarb: add VGA
> arbitration support to the drm and kms") from Linus' tree and commit
> 62a8ea3f7bb61e5f92db0a648b7cc566852c36ec ("drm/radeon/kms: Remove old
> init path as no hw use it anymore") from the drm tree.
> 
> I have no idea how to reconcile these, so I have just used the version
> from the drm tree.  Please do the merge with Linus' tree and fix this up
> properly.  (There are also still conflicts in
> drivers/gpu/drm/radeon/radeon.h and drivers/gpu/drm/radeon/radeon_asic.h)

Got similar conflicts today ... any way you can sort this out, please?
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2009-10-06  2:28 Stephen Rothwell
  2009-10-08  2:35 ` Stephen Rothwell
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2009-10-06  2:28 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Jerome Glisse

[-- Attachment #1: Type: text/plain, Size: 765 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/radeon/radeon_device.c between commit
28d520433b6375740990ab99d69b0d0067fd656b ("drm/vgaarb: add VGA
arbitration support to the drm and kms") from Linus' tree and commit
62a8ea3f7bb61e5f92db0a648b7cc566852c36ec ("drm/radeon/kms: Remove old
init path as no hw use it anymore") from the drm tree.

I have no idea how to reconcile these, so I have just used the version
from the drm tree.  Please do the merge with Linus' tree and fix this up
properly.  (There are also still conflicts in
drivers/gpu/drm/radeon/radeon.h and drivers/gpu/drm/radeon/radeon_asic.h)
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2009-09-08  5:01 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2009-09-08  5:01 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 700 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got conflicts in
drivers/gpu/drm/radeon/r300.c, drivers/gpu/drm/radeon/rs600.c and
drivers/gpu/drm/radeon/rv515.c between commit
a54775c8758a754186bc6adbfc518b1e9f8f1e4e ("drm/radeon/kms: add LTE/GTE
discard + rv515 two sided stencil register") from Linus' tree and commits
50f153036c9d9e4ae1768d5ca9c2ad4184f7a0b7 ("drm/radeon/kms: generate the
safe register tables") and 3f7dc91adef90a20f806282724c40d68d5b020aa
("drm/rs600/690: use autogenerated safe register tables") from the drm
tree.

I just used the drm tree's versions.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2009-08-20  5:30 ` Dave Airlie
@ 2009-08-20  6:43   ` Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2009-08-20  6:43 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Thomas Hellstrom

[-- Attachment #1: Type: text/plain, Size: 325 bytes --]

Hi Dave,

On Thu, 20 Aug 2009 06:30:15 +0100 (IST) Dave Airlie <airlied@linux.ie> wrote:
>
> I merged Linus tree soon after and pushed it out so it should be okay now.

Thanks.  I look forward to tomorrow :-)

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 131+ messages in thread

* Re: linux-next: manual merge of the drm tree with Linus' tree
  2009-08-20  5:27 Stephen Rothwell
@ 2009-08-20  5:30 ` Dave Airlie
  2009-08-20  6:43   ` Stephen Rothwell
  0 siblings, 1 reply; 131+ messages in thread
From: Dave Airlie @ 2009-08-20  5:30 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linux-next, linux-kernel, Thomas Hellstrom


> Hi Dave,
> 
> Today's linux-next merge of the drm tree got a conflict in
> drivers/gpu/drm/radeon/radeon_ttm.c between commit
> ad49f501867cba87e1e45e5ebae0b12435d68bf1 ("drm/ttm/radeon: add dma32
> support") from Linus' tree and commit
> a987fcaa805fcb24ba885c2e29fd4fdb6816f08f ("ttm: Make parts of a struct
> ttm_bo_device global") from the drm tree.

I merged Linus tree soon after and pushed it out so it should be okay now.

Dave.

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2009-08-20  5:27 Stephen Rothwell
  2009-08-20  5:30 ` Dave Airlie
  0 siblings, 1 reply; 131+ messages in thread
From: Stephen Rothwell @ 2009-08-20  5:27 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Thomas Hellstrom

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/radeon/radeon_ttm.c between commit
ad49f501867cba87e1e45e5ebae0b12435d68bf1 ("drm/ttm/radeon: add dma32
support") from Linus' tree and commit
a987fcaa805fcb24ba885c2e29fd4fdb6816f08f ("ttm: Make parts of a struct
ttm_bo_device global") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/radeon_ttm.c
index 15c3531,343b6d6..0000000
--- a/drivers/gpu/drm/radeon/radeon_ttm.c
+++ b/drivers/gpu/drm/radeon/radeon_ttm.c
@@@ -446,9 -462,8 +467,9 @@@ int radeon_ttm_init(struct radeon_devic
  	}
  	/* No others user of address space so set it to 0 */
  	r = ttm_bo_device_init(&rdev->mman.bdev,
- 			       rdev->mman.mem_global_ref.object,
+ 			       rdev->mman.bo_global_ref.ref.object,
 -			       &radeon_bo_driver, DRM_FILE_PAGE_OFFSET);
 +			       &radeon_bo_driver, DRM_FILE_PAGE_OFFSET,
 +			       rdev->need_dma32);
  	if (r) {
  		DRM_ERROR("failed initializing buffer object driver(%d).\n", r);
  		return r;

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2009-08-20  5:07 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2009-08-20  5:07 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Zhao Yakui

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/drm_edid.c between commit
ebb177d2afb8532a8a316489aed545ed0c170802 ("drm/edid: fixup detailed
timings like the X server.") from Linus' tree and commit
5c61259e6c7290082108e93815f7f72f27da14f4 ("drm/mode: get the modeline for
standard timing in EDID by using CVT/GTF") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/drm_edid.c
index 7f2728b,bbcb2e2..0000000
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@@ -502,40 -547,12 +547,41 @@@ static int add_detailed_info(struct drm
  		struct detailed_non_pixel *data = &timing->data.other_data;
  		struct drm_display_mode *newmode;
  
 -		/* EDID up to and including 1.2 may put monitor info here */
 -		if (edid->version == 1 && edid->revision < 3)
 -			continue;
 -
 -		/* Detailed mode timing */
 -		if (timing->pixel_clock) {
 +		/* X server check is version 1.1 or higher */
 +		if (edid->version == 1 && edid->revision >= 1 &&
 +		    !timing->pixel_clock) {
 +			/* Other timing or info */
 +			switch (data->type) {
 +			case EDID_DETAIL_MONITOR_SERIAL:
 +				break;
 +			case EDID_DETAIL_MONITOR_STRING:
 +				break;
 +			case EDID_DETAIL_MONITOR_RANGE:
 +				/* Get monitor range data */
 +				break;
 +			case EDID_DETAIL_MONITOR_NAME:
 +				break;
 +			case EDID_DETAIL_MONITOR_CPDATA:
 +				break;
 +			case EDID_DETAIL_STD_MODES:
 +				/* Five modes per detailed section */
 +				for (j = 0; j < 5; i++) {
 +					struct std_timing *std;
 +					struct drm_display_mode *newmode;
 +
 +					std = &data->data.timings[j];
- 					newmode = drm_mode_std(dev, std);
++					newmode = drm_mode_std(dev, std,
++							timing_level);
 +					if (newmode) {
 +						drm_mode_probed_add(connector, newmode);
 +						modes++;
 +					}
 +				}
 +				break;
 +			default:
 +				break;
 +			}
 +		} else {
  			newmode = drm_mode_detailed(dev, edid, timing, quirks);
  			if (!newmode)
  				continue;

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2009-08-05  3:44 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2009-08-05  3:44 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Jakob Bornecrantz, Zhao Yakui

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/drm_crtc.c between commit
7781de74568bddfefbd2d32a934a8c791a2420cd ("drm: Small logic fix in
drm_mode_setcrtc") from Linus' tree and commit
58367ed65f30128d8b763bf4c1fb942da49ade15 ("drm: Add the debug info in
generic drm mode by using DRM_DEBUG_KMS") from the drm tree.

Just context changes.  I fixed it up (see below) and can carry the fix as
necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/drm_crtc.c
index 33be210,a8c8311..0000000
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@@ -1461,8 -1484,8 +1484,8 @@@ int drm_mode_setcrtc(struct drm_device 
  		goto out;
  	}
  
 -	if (crtc_req->count_connectors > 0 && !mode && !fb) {
 +	if (crtc_req->count_connectors > 0 && (!mode || !fb)) {
- 		DRM_DEBUG("Count connectors is %d but no mode or fb set\n",
+ 		DRM_DEBUG_KMS("Count connectors is %d but no mode or fb set\n",
  			  crtc_req->count_connectors);
  		ret = -EINVAL;
  		goto out;

^ permalink raw reply	[flat|nested] 131+ messages in thread

* linux-next: manual merge of the drm tree with Linus' tree
@ 2009-02-10  6:22 Stephen Rothwell
  0 siblings, 0 replies; 131+ messages in thread
From: Stephen Rothwell @ 2009-02-10  6:22 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, Benjamin Herrenschmidt

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/drm_memory.c between commit
9b8d5a124f133fe9a75397d20b874844a2e3d7e9 ("drm/radeon: fix ioremap
conflict with AGP mappings") from Linus' tree and commit
b16d90f80a3707fff2d13627076362272a466849 ("drm: Split drm_map and
drm_local_map") from the drm tree.

Just a context change.  I fixed it up (see below) and can carry the fix
for a while.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

diff --cc drivers/gpu/drm/drm_memory.c
index bcc869b,1132d16..0000000
--- a/drivers/gpu/drm/drm_memory.c
+++ b/drivers/gpu/drm/drm_memory.c
@@@ -169,17 -169,12 +169,17 @@@ void drm_core_ioremap(struct drm_local_
  }
  EXPORT_SYMBOL(drm_core_ioremap);
  
- void drm_core_ioremap_wc(struct drm_map *map, struct drm_device *dev)
+ void drm_core_ioremap_wc(struct drm_local_map *map, struct drm_device *dev)
  {
 -	map->handle = ioremap_wc(map->offset, map->size);
 +	if (drm_core_has_AGP(dev) &&
 +	    dev->agp && dev->agp->cant_use_aperture && map->type == _DRM_AGP)
 +		map->handle = agp_remap(map->offset, map->size, dev);
 +	else
 +		map->handle = ioremap_wc(map->offset, map->size);
  }
  EXPORT_SYMBOL(drm_core_ioremap_wc);
 +
- void drm_core_ioremapfree(struct drm_map *map, struct drm_device *dev)
+ void drm_core_ioremapfree(struct drm_local_map *map, struct drm_device *dev)
  {
  	if (!map->handle || !map->size)
  		return;

^ permalink raw reply	[flat|nested] 131+ messages in thread

end of thread, other threads:[~2021-10-29  6:58 UTC | newest]

Thread overview: 131+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-25  3:51 linux-next: manual merge of the drm tree with Linus' tree Stephen Rothwell
  -- strict thread matches above, loose matches on Subject: below --
2021-10-29  0:48 Stephen Rothwell
2021-10-29  6:52 ` Joonas Lahtinen
2021-10-11  0:37 Stephen Rothwell
2021-08-23  2:41 Stephen Rothwell
2021-08-24  0:12 ` Stephen Rothwell
2021-08-12  1:20 Stephen Rothwell
2021-07-01  0:52 Stephen Rothwell
2021-03-29  2:14 Stephen Rothwell
2021-03-30  7:36 ` Geert Uytterhoeven
2021-03-30 23:41   ` Stephen Rothwell
2021-02-01  1:30 Stephen Rothwell
2021-02-14 22:07 ` Stephen Rothwell
2021-01-18  0:56 Stephen Rothwell
2020-10-02  3:42 Stephen Rothwell
2020-03-23  0:50 Stephen Rothwell
2019-11-13  1:38 Stephen Rothwell
2019-11-13  1:13 Stephen Rothwell
2019-11-13  0:58 Stephen Rothwell
2019-11-13  0:50 Stephen Rothwell
2019-11-13  0:46 Stephen Rothwell
2019-11-13  0:40 Stephen Rothwell
2019-08-26  3:12 Stephen Rothwell
2019-06-11  2:19 Stephen Rothwell
2018-06-04  3:09 Stephen Rothwell
2018-03-26  3:38 Stephen Rothwell
2018-03-22  6:37 Stephen Rothwell
2018-03-26  3:45 ` Stephen Rothwell
2018-03-13  1:15 Stephen Rothwell
2018-02-18 23:10 Stephen Rothwell
2018-02-20 20:15 ` Rodrigo Vivi
2018-02-18 23:02 Stephen Rothwell
2018-01-15  1:08 Stephen Rothwell
2017-11-23 23:37 Stephen Rothwell
2017-10-30 18:36 Mark Brown
2017-10-30 18:26 Mark Brown
2017-08-28  2:32 Stephen Rothwell
2017-07-31  2:24 Stephen Rothwell
2017-07-24  2:06 Stephen Rothwell
2017-07-24  2:09 ` Stephen Rothwell
2017-06-05  2:49 Stephen Rothwell
2017-04-05  0:30 Stephen Rothwell
2017-02-23 23:17 Stephen Rothwell
2016-09-28  1:57 Stephen Rothwell
2016-09-20  2:42 Stephen Rothwell
2016-09-20 12:25 ` Philipp Zabel
2016-09-05  3:58 Stephen Rothwell
2016-09-05  3:51 Stephen Rothwell
2016-07-29  1:45 Stephen Rothwell
2016-05-09  1:28 Stephen Rothwell
2016-05-09  1:27 Stephen Rothwell
2016-03-17  0:45 Stephen Rothwell
2016-03-17  1:43 ` Luis R. Rodriguez
2016-02-29  2:59 Stephen Rothwell
2015-12-07  3:38 Stephen Rothwell
2015-11-01  8:11 Stephen Rothwell
2015-07-27  1:14 Stephen Rothwell
2015-06-21  3:50 Stephen Rothwell
2015-06-22  7:20 ` Christian König
2015-05-11  3:07 Stephen Rothwell
2015-04-07  5:22 Stephen Rothwell
2015-01-29  2:17 Stephen Rothwell
2015-01-29  8:19 ` Oded Gabbay
2015-01-22  2:22 Stephen Rothwell
2015-01-22  2:31 ` Dave Airlie
2015-01-22  2:57   ` Stephen Rothwell
2015-01-22  2:18 Stephen Rothwell
2015-01-22  2:15 Stephen Rothwell
2014-12-05  4:46 Stephen Rothwell
2014-12-05  4:39 Stephen Rothwell
2014-11-17  3:11 Stephen Rothwell
2014-11-17  9:47 ` Thierry Reding
2014-06-05  3:59 Stephen Rothwell
2014-06-05  3:54 Stephen Rothwell
2014-03-31  2:54 Stephen Rothwell
2014-03-24  2:01 Stephen Rothwell
2014-03-24  8:49 ` Jani Nikula
2013-12-19  2:09 Stephen Rothwell
2013-12-19  1:59 Stephen Rothwell
2013-11-07  2:21 Stephen Rothwell
2013-11-07  2:10 Stephen Rothwell
2013-10-28  5:58 Stephen Rothwell
2013-10-28  5:28 Stephen Rothwell
2013-10-28  5:11 Stephen Rothwell
2013-07-29  2:58 Stephen Rothwell
2013-07-26  3:01 Stephen Rothwell
2013-06-24  2:56 Stephen Rothwell
2013-06-17  3:09 Stephen Rothwell
2013-02-13  4:48 Stephen Rothwell
2012-11-30  1:22 Stephen Rothwell
2012-10-04  2:00 Stephen Rothwell
2012-10-04  1:54 Stephen Rothwell
2012-09-17  4:53 Stephen Rothwell
2012-08-24  2:20 Stephen Rothwell
2012-08-24  2:19 Stephen Rothwell
2012-08-24  7:13 ` Jani Nikula
2012-08-24  7:12   ` Dave Airlie
2012-08-24 20:29     ` Sedat Dilek
2012-07-19  1:38 Stephen Rothwell
2012-07-16  3:00 Stephen Rothwell
2012-06-29  3:30 Stephen Rothwell
2012-06-29  9:01 ` Daniel Vetter
2012-05-14  4:08 Stephen Rothwell
2012-05-07  3:45 Stephen Rothwell
2012-05-07  8:06 ` Daniel Vetter
2012-05-03  3:07 Stephen Rothwell
2012-04-13  3:38 Stephen Rothwell
2012-04-13  8:59 ` Daniel Vetter
2012-03-05  3:47 Stephen Rothwell
2011-12-28  2:53 Stephen Rothwell
2011-12-28  2:44 Stephen Rothwell
2011-12-21  3:18 Stephen Rothwell
2011-12-12  2:06 Stephen Rothwell
2011-03-09  3:41 Stephen Rothwell
2010-10-15  1:54 Stephen Rothwell
2010-10-03 23:30 Stephen Rothwell
2010-10-03 23:30 Stephen Rothwell
2010-04-28  3:58 Stephen Rothwell
2010-04-27  2:51 Stephen Rothwell
2010-04-12  5:06 Stephen Rothwell
2009-10-06  2:28 Stephen Rothwell
2009-10-08  2:35 ` Stephen Rothwell
2009-10-08  3:38   ` Dave Airlie
2009-10-08  3:44     ` Stephen Rothwell
2009-09-08  5:01 Stephen Rothwell
2009-08-20  5:27 Stephen Rothwell
2009-08-20  5:30 ` Dave Airlie
2009-08-20  6:43   ` Stephen Rothwell
2009-08-20  5:07 Stephen Rothwell
2009-08-05  3:44 Stephen Rothwell
2009-02-10  6:22 Stephen Rothwell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).