Re: linux-next: manual merge of the drm tree with Linus' tree

2021-03-30 Thread Stephen Rothwell
Hi Geert,

On Tue, 30 Mar 2021 09:36:57 +0200 Geert Uytterhoeven  
wrote:
>
> On Mon, Mar 29, 2021 at 4:16 AM Stephen Rothwell  
> 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..
> > --- 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


Re: linux-next: manual merge of the drm tree with Linus' tree

2021-03-30 Thread Geert Uytterhoeven
Hi Stephen,

On Mon, Mar 29, 2021 at 4:16 AM Stephen Rothwell  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..
> --- 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 -- ge...@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


linux-next: manual merge of the drm tree with Linus' tree

2021-03-28 Thread Stephen Rothwell
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..
--- 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 */


pgp9Rfosu7JKE.pgp
Description: OpenPGP digital signature


Re: linux-next: manual merge of the drm tree with Linus' tree

2021-02-14 Thread Stephen Rothwell
Hi all,

On Mon, 1 Feb 2021 12:30:12 +1100 Stephen Rothwell  
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..
> --- 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 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);
> + 
> + /**
> +  

linux-next: manual merge of the drm tree with Linus' tree

2021-01-31 Thread Stephen Rothwell
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..
--- 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 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.
+ 

linux-next: manual merge of the drm tree with Linus' tree

2021-01-17 Thread Stephen Rothwell
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..
--- 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:
 *


pgpUy3dd5MwN8.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2020-10-01 Thread Stephen Rothwell
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..
--- 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;


pgpNa4QYOhfcn.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2020-05-24 Thread Stephen Rothwell
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..
--- 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..
--- 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..
--- 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 = {


pgpS1zhuj2DyT.pgp
Description: OpenPGP digital signature


Re: linux-next: manual merge of the drm tree with Linus' tree

2018-03-25 Thread Stephen Rothwell
Hi all,

On Thu, 22 Mar 2018 17:37:22 +1100 Stephen Rothwell  
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


pgpqw3NCsq8IR.pgp
Description: OpenPGP digital signature


Re: linux-next: manual merge of the drm tree with Linus' tree

2018-03-25 Thread Stephen Rothwell
Hi all,

On Thu, 22 Mar 2018 17:37:22 +1100 Stephen Rothwell  
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


pgpqw3NCsq8IR.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2018-03-25 Thread Stephen Rothwell
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..
--- 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..
--- 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;
+ }


pgpZ5ofp8Ayc4.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2018-03-25 Thread Stephen Rothwell
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..
--- 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..
--- 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;
+ }


pgpZ5ofp8Ayc4.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2018-03-22 Thread Stephen Rothwell
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


pgplUIjH36xU1.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2018-03-22 Thread Stephen Rothwell
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


pgplUIjH36xU1.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2018-03-12 Thread Stephen Rothwell
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


pgpnXVQQmYWz6.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2018-03-12 Thread Stephen Rothwell
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


pgpnXVQQmYWz6.pgp
Description: OpenPGP digital signature


Re: linux-next: manual merge of the drm tree with Linus' tree

2018-02-20 Thread Rodrigo Vivi
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-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel



Re: linux-next: manual merge of the drm tree with Linus' tree

2018-02-20 Thread Rodrigo Vivi
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-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel



linux-next: manual merge of the drm tree with Linus' tree

2018-02-18 Thread Stephen Rothwell
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


pgpOAdJukWRAk.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2018-02-18 Thread Stephen Rothwell
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


pgpOAdJukWRAk.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2018-02-18 Thread Stephen Rothwell
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..
--- 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


pgpJhp83dm_cQ.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2018-02-18 Thread Stephen Rothwell
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..
--- 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


pgpJhp83dm_cQ.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2018-01-14 Thread Stephen Rothwell
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


linux-next: manual merge of the drm tree with Linus' tree

2018-01-14 Thread Stephen Rothwell
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


linux-next: manual merge of the drm tree with Linus' tree

2017-11-23 Thread Stephen Rothwell
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


linux-next: manual merge of the drm tree with Linus' tree

2017-11-23 Thread Stephen Rothwell
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


linux-next: manual merge of the drm tree with Linus' tree

2017-10-30 Thread Mark Brown
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..
--- 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..
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c


signature.asc
Description: PGP signature


linux-next: manual merge of the drm tree with Linus' tree

2017-10-30 Thread Mark Brown
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..
--- 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..
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c


signature.asc
Description: PGP signature


linux-next: manual merge of the drm tree with Linus' tree

2017-10-30 Thread Mark Brown
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..
--- 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(>job_queue, , sizeof(job))) {
+   struct amd_sched_fence *s_fence = job->s_fence;
+   amd_sched_fence_scheduled(s_fence);
+   dma_fence_set_error(_fence->finished, -ESRCH);
+   amd_sched_fence_finished(s_fence);
+   dma_fence_put(_fence->finished);
+   sched->ops->free_job(job);
+   }
  
-   amd_sched_rq_remove_entity(rq, entity);
+   }
kfifo_free(>job_queue);
  }
  


signature.asc
Description: PGP signature


linux-next: manual merge of the drm tree with Linus' tree

2017-10-30 Thread Mark Brown
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..
--- 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(>job_queue, , sizeof(job))) {
+   struct amd_sched_fence *s_fence = job->s_fence;
+   amd_sched_fence_scheduled(s_fence);
+   dma_fence_set_error(_fence->finished, -ESRCH);
+   amd_sched_fence_finished(s_fence);
+   dma_fence_put(_fence->finished);
+   sched->ops->free_job(job);
+   }
  
-   amd_sched_rq_remove_entity(rq, entity);
+   }
kfifo_free(>job_queue);
  }
  


signature.asc
Description: PGP signature


linux-next: manual merge of the drm tree with Linus' tree

2017-08-27 Thread Stephen Rothwell
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


linux-next: manual merge of the drm tree with Linus' tree

2017-08-27 Thread Stephen Rothwell
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


linux-next: manual merge of the drm tree with Linus' tree

2017-07-30 Thread Stephen Rothwell
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..
--- 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(>dev->event_lock, flags);
drm_crtc_send_vblank_event(crtc, crtc->state->event);
spin_unlock_irqrestore(>dev->event_lock, flags);


linux-next: manual merge of the drm tree with Linus' tree

2017-07-30 Thread Stephen Rothwell
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..
--- 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(>dev->event_lock, flags);
drm_crtc_send_vblank_event(crtc, crtc->state->event);
spin_unlock_irqrestore(>dev->event_lock, flags);


Re: linux-next: manual merge of the drm tree with Linus' tree

2017-07-23 Thread Stephen Rothwell
Hi all,

On Mon, 24 Jul 2017 12:06:05 +1000 Stephen Rothwell  
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..
--- 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 
 -M:Gerd Hoffmann 
 -L:virtualizat...@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 
 -M:Christian König 
 -L:amd-...@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 
 +S:Maintained
 +F:drivers/gpu/drm/tinydrm/mi0283qt.c
 +F:Documentation/devicetree/bindings/display/multi-inno,mi0283qt.txt
  
 -DRM PANEL DRIVERS
 -M:Thierry Reding 
 +DRM DRIVER FOR MSM ADRENO GPU
 +M:Rob Clark 
 +L:linux-arm-...@vger.kernel.org
  L:dri-de...@lists.freedesktop.org
 -T:git git://anongit.freedesktop.org/tegra/linux.git
 +L:freedr...@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 
 -M:Jani Nikula 
 -L:intel-...@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 
 +L:dri-de...@lists.freedesktop.org
 +L:nouv...@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 
 -M:  Zhi Wang 
 -L:  intel-gvt-...@lists.freedesktop.org
 -L:  intel-...@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 
++S:Maintained
++F:drivers/gpu/drm/tinydrm/repaper.c
++F:Documentation/devicetree/bindings/display/repaper.txt
+ 
 -DRM DRIVERS FOR ATMEL HLCDC
 -M:Boris Brezillon 
 +DRM DRIVER FOR QEMU'S CIRRUS DEVICE
 +M:Dave Airlie 
 +M:Gerd Hoffmann 
 +L:virtualizat...@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:

Re: linux-next: manual merge of the drm tree with Linus' tree

2017-07-23 Thread Stephen Rothwell
Hi all,

On Mon, 24 Jul 2017 12:06:05 +1000 Stephen Rothwell  
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..
--- 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 
 -M:Gerd Hoffmann 
 -L:virtualizat...@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 
 -M:Christian König 
 -L:amd-...@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 
 +S:Maintained
 +F:drivers/gpu/drm/tinydrm/mi0283qt.c
 +F:Documentation/devicetree/bindings/display/multi-inno,mi0283qt.txt
  
 -DRM PANEL DRIVERS
 -M:Thierry Reding 
 +DRM DRIVER FOR MSM ADRENO GPU
 +M:Rob Clark 
 +L:linux-arm-...@vger.kernel.org
  L:dri-de...@lists.freedesktop.org
 -T:git git://anongit.freedesktop.org/tegra/linux.git
 +L:freedr...@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 
 -M:Jani Nikula 
 -L:intel-...@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 
 +L:dri-de...@lists.freedesktop.org
 +L:nouv...@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 
 -M:  Zhi Wang 
 -L:  intel-gvt-...@lists.freedesktop.org
 -L:  intel-...@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 
++S:Maintained
++F:drivers/gpu/drm/tinydrm/repaper.c
++F:Documentation/devicetree/bindings/display/repaper.txt
+ 
 -DRM DRIVERS FOR ATMEL HLCDC
 -M:Boris Brezillon 
 +DRM DRIVER FOR QEMU'S CIRRUS DEVICE
 +M:Dave Airlie 
 +M:Gerd Hoffmann 
 +L:virtualizat...@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 
 +M:Gerd Hoffmann 
 +L:virtualizat...@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:

linux-next: manual merge of the drm tree with Linus' tree

2017-07-23 Thread Stephen Rothwell
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..
--- 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 
 -S:Odd Fixes
 -F:drivers/gpu/drm/mgag200/
 -
+ DRM DRIVER FOR PERVASIVE DISPLAYS REPAPER PANELS
+ M:Noralf Trønnes 
+ 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 
  L:dri-de...@lists.freedesktop.org


linux-next: manual merge of the drm tree with Linus' tree

2017-07-23 Thread Stephen Rothwell
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..
--- 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 
 -S:Odd Fixes
 -F:drivers/gpu/drm/mgag200/
 -
+ DRM DRIVER FOR PERVASIVE DISPLAYS REPAPER PANELS
+ M:Noralf Trønnes 
+ 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 
  L:dri-de...@lists.freedesktop.org


linux-next: manual merge of the drm tree with Linus' tree

2017-06-04 Thread Stephen Rothwell
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..
--- 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(_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 = _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(_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);


linux-next: manual merge of the drm tree with Linus' tree

2017-06-04 Thread Stephen Rothwell
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..
--- 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(_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 = _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(_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);


linux-next: manual merge of the drm tree with Linus' tree

2017-04-04 Thread Stephen Rothwell
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_ to pr_")

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


linux-next: manual merge of the drm tree with Linus' tree

2017-04-04 Thread Stephen Rothwell
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_ to pr_")

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


linux-next: manual merge of the drm tree with Linus' tree

2017-02-23 Thread Stephen Rothwell
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..
--- 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


linux-next: manual merge of the drm tree with Linus' tree

2017-02-23 Thread Stephen Rothwell
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..
--- 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


linux-next: manual merge of the drm tree with Linus' tree

2016-09-27 Thread Stephen Rothwell
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


linux-next: manual merge of the drm tree with Linus' tree

2016-09-27 Thread Stephen Rothwell
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


Re: linux-next: manual merge of the drm tree with Linus' tree

2016-09-20 Thread Philipp Zabel
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



Re: linux-next: manual merge of the drm tree with Linus' tree

2016-09-20 Thread Philipp Zabel
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



linux-next: manual merge of the drm tree with Linus' tree

2016-09-19 Thread 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.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/gpu/drm/imx/ipuv3-crtc.c
index 462056e4b9e4,9df29f1cb16a..
--- 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(>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)


linux-next: manual merge of the drm tree with Linus' tree

2016-09-19 Thread 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.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/gpu/drm/imx/ipuv3-crtc.c
index 462056e4b9e4,9df29f1cb16a..
--- 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(>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)


linux-next: manual merge of the drm tree with Linus' tree

2016-09-04 Thread Stephen Rothwell
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


linux-next: manual merge of the drm tree with Linus' tree

2016-09-04 Thread Stephen Rothwell
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


linux-next: manual merge of the drm tree with Linus' tree

2016-09-04 Thread Stephen Rothwell
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..
--- 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)


linux-next: manual merge of the drm tree with Linus' tree

2016-09-04 Thread Stephen Rothwell
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..
--- 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)


linux-next: manual merge of the drm tree with Linus' tree

2016-07-28 Thread Stephen Rothwell
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


linux-next: manual merge of the drm tree with Linus' tree

2016-07-28 Thread Stephen Rothwell
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


linux-next: manual merge of the drm tree with Linus' tree

2016-05-08 Thread Stephen Rothwell
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


linux-next: manual merge of the drm tree with Linus' tree

2016-05-08 Thread Stephen Rothwell
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


linux-next: manual merge of the drm tree with Linus' tree

2016-05-08 Thread Stephen Rothwell
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..
--- 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,


linux-next: manual merge of the drm tree with Linus' tree

2016-05-08 Thread Stephen Rothwell
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..
--- 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,


linux-next: manual merge of the drm tree with Linus' tree

2016-03-19 Thread Stephen Rothwell
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..
--- 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_cmd_paddr,
 -  hqvdp->hqvdp_cmd = dma_alloc_writecombine(hqvdp->dev, size,
 -   _addr,
 -   GFP_KERNEL | GFP_DMA);
++  hqvdp->hqvdp_cmd = dma_alloc_wc(hqvdp->dev, size, _addr,
 +  GFP_KERNEL | GFP_DMA);
if (!hqvdp->hqvdp_cmd) {
DRM_ERROR("Failed to allocate memory for VDP cmd\n");
return;


linux-next: manual merge of the drm tree with Linus' tree

2016-03-19 Thread Stephen Rothwell
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..
--- 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_cmd_paddr,
 -  hqvdp->hqvdp_cmd = dma_alloc_writecombine(hqvdp->dev, size,
 -   _addr,
 -   GFP_KERNEL | GFP_DMA);
++  hqvdp->hqvdp_cmd = dma_alloc_wc(hqvdp->dev, size, _addr,
 +  GFP_KERNEL | GFP_DMA);
if (!hqvdp->hqvdp_cmd) {
DRM_ERROR("Failed to allocate memory for VDP cmd\n");
return;


Re: linux-next: manual merge of the drm tree with Linus' tree

2016-03-19 Thread Luis R. Rodriguez
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 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..
> --- 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_cmd_paddr,
>  -hqvdp->hqvdp_cmd = dma_alloc_writecombine(hqvdp->dev, size,
>  - _addr,
>  - GFP_KERNEL | GFP_DMA);
> ++hqvdp->hqvdp_cmd = dma_alloc_wc(hqvdp->dev, size, _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


Re: linux-next: manual merge of the drm tree with Linus' tree

2016-03-19 Thread Luis R. Rodriguez
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 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..
> --- 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_cmd_paddr,
>  -hqvdp->hqvdp_cmd = dma_alloc_writecombine(hqvdp->dev, size,
>  - _addr,
>  - GFP_KERNEL | GFP_DMA);
> ++hqvdp->hqvdp_cmd = dma_alloc_wc(hqvdp->dev, size, _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


linux-next: manual merge of the drm tree with Linus' tree

2016-02-28 Thread Stephen Rothwell
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..
--- 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 = >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 = >dev->vblank[work->crtc_id];
  
-   amdgpu_flip_wait_fence(adev, >excl);
+   if (amdgpu_flip_handle_fence(work, >excl))
+   return;
+ 
for (i = 0; i < work->shared_count; ++i)
-   amdgpu_flip_wait_fence(adev, >shared[i]);
+   if (amdgpu_flip_handle_fence(work, >shared[i]))
+   return;
  
/* We borrow the event spin lock for protecting flip_status */
spin_lock_irqsave(>dev->event_lock, flags);
@@@ -123,19 -119,12 +124,19 @@@
spin_lock_irqsave(>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(>dev->event_lock, flags);
+ 
+   /* Do the flip (mmio) */
+   adev->mode_info.funcs->page_flip(adev, work->crtc_id, work->base);
  }
  
  /*


linux-next: manual merge of the drm tree with Linus' tree

2016-02-28 Thread Stephen Rothwell
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..
--- 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 = >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 = >dev->vblank[work->crtc_id];
  
-   amdgpu_flip_wait_fence(adev, >excl);
+   if (amdgpu_flip_handle_fence(work, >excl))
+   return;
+ 
for (i = 0; i < work->shared_count; ++i)
-   amdgpu_flip_wait_fence(adev, >shared[i]);
+   if (amdgpu_flip_handle_fence(work, >shared[i]))
+   return;
  
/* We borrow the event spin lock for protecting flip_status */
spin_lock_irqsave(>dev->event_lock, flags);
@@@ -123,19 -119,12 +124,19 @@@
spin_lock_irqsave(>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(>dev->event_lock, flags);
+ 
+   /* Do the flip (mmio) */
+   adev->mode_info.funcs->page_flip(adev, work->crtc_id, work->base);
  }
  
  /*


linux-next: manual merge of the drm tree with Linus' tree

2015-12-06 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/imx/imx-drm-core.c
index 7b990b4e96d2,6faa735376ec..
--- 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)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


linux-next: manual merge of the drm tree with Linus' tree

2015-12-06 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/imx/imx-drm-core.c
index 7b990b4e96d2,6faa735376ec..
--- 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)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


linux-next: manual merge of the drm tree with Linus' tree

2015-11-01 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


linux-next: manual merge of the drm tree with Linus' tree

2015-11-01 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


linux-next: manual merge of the drm tree with Linus' tree

2015-07-26 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/drm_crtc.c
index fed748311b92,1f0da41ae2a1..
--- 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, >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);
  
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


linux-next: manual merge of the drm tree with Linus' tree

2015-07-26 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/drm_crtc.c
index fed748311b92,1f0da41ae2a1..
--- 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);
  
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: manual merge of the drm tree with Linus' tree

2015-06-22 Thread Christian König

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).



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: manual merge of the drm tree with Linus' tree

2015-06-22 Thread Christian König

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).



--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
Please read the FAQ at  http://www.tux.org/lkml/


linux-next: manual merge of the drm tree with Linus' tree

2015-06-20 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/radeon_kms.c
index b0acf50d9558,9632e886ddc3..
--- 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(>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..
--- 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_trequest;


pgpcfev_mnCKy.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2015-06-20 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/radeon_kms.c
index b0acf50d9558,9632e886ddc3..
--- 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..
--- 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_trequest;


pgpcfev_mnCKy.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2015-05-10 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/


pgpyAdkoWbqZP.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2015-05-10 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/


pgpyAdkoWbqZP.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2015-04-06 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au


pgpgYpnleaVqA.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2015-04-06 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au


pgpgYpnleaVqA.pgp
Description: OpenPGP digital signature


Re: linux-next: manual merge of the drm tree with Linus' tree

2015-01-29 Thread Oded Gabbay



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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: manual merge of the drm tree with Linus' tree

2015-01-29 Thread Oded Gabbay



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
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


linux-next: manual merge of the drm tree with Linus' tree

2015-01-28 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
index 0d8694f015c1,b189f9791c90..
--- 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(>list, >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(>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(>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(>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(>lock);
return retval;
diff --cc drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h
index 52035bf0c1cb,e7b17b28330e..
--- 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_headqueues;
unsigned intprocesses_count;
unsigned intqueue_count;
 +  unsigned inttotal_queue_count;
+   unsigned intsdma_queue_count;
unsigned intnext_pipe_to_allocate;
unsigned int*allocated_queues;
+   unsigned intsdma_bitmap;
unsigned intvmid_bitmap;
uint64_tpipelines_addr;
struct kfd_mem_obj  *pipeline_mem;


pgpjQ8vfkm0gD.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2015-01-28 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
index 0d8694f015c1,b189f9791c90..
--- 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..
--- 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_headqueues;
unsigned intprocesses_count;
unsigned intqueue_count;
 +  unsigned inttotal_queue_count;
+   unsigned intsdma_queue_count;
unsigned intnext_pipe_to_allocate;
unsigned int*allocated_queues;
+   unsigned intsdma_bitmap;
unsigned intvmid_bitmap;
uint64_tpipelines_addr;
struct kfd_mem_obj  *pipeline_mem;


pgpjQ8vfkm0gD.pgp
Description: OpenPGP digital signature


Re: linux-next: manual merge of the drm tree with Linus' tree

2015-01-21 Thread Stephen Rothwell
Hi Dave,

On Thu, 22 Jan 2015 02:31:06 + (GMT) Dave Airlie  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 Rothwells...@canb.auug.org.au


pgpXrZ5p73Lct.pgp
Description: OpenPGP digital signature


Re: linux-next: manual merge of the drm tree with Linus' tree

2015-01-21 Thread Dave Airlie

> 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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


linux-next: manual merge of the drm tree with Linus' tree

2015-01-21 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/radeon_kfd.c
index 8bf87f1203cc,cae11eefecf0..
--- 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;


pgprzEYjbcvrU.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2015-01-21 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/amd/include/kgd_kfd_interface.h
index 96a512208fad,cd3878fe6f77..
--- 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,


pgpTJNAX0B9bg.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2015-01-21 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/amd/amdkfd/kfd_priv.h
index b3dc13c83169,a79c21781d3b..
--- 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;
  


pgpbU1okG0ddg.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2015-01-21 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/radeon_kfd.c
index 8bf87f1203cc,cae11eefecf0..
--- 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;


pgprzEYjbcvrU.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2015-01-21 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/amd/amdkfd/kfd_priv.h
index b3dc13c83169,a79c21781d3b..
--- 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;
  


pgpbU1okG0ddg.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2015-01-21 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/amd/include/kgd_kfd_interface.h
index 96a512208fad,cd3878fe6f77..
--- 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,


pgpTJNAX0B9bg.pgp
Description: OpenPGP digital signature


Re: linux-next: manual merge of the drm tree with Linus' tree

2015-01-21 Thread Dave Airlie

 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.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: manual merge of the drm tree with Linus' tree

2015-01-21 Thread Stephen Rothwell
Hi Dave,

On Thu, 22 Jan 2015 02:31:06 + (GMT) Dave Airlie airl...@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 Rothwells...@canb.auug.org.au


pgpXrZ5p73Lct.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2014-12-04 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/radeon_cs.c
index 6f377de099f9,75f22e5e999f..
--- 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, >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, >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 */


pgpilYgd9GqK3.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the drm tree with Linus' tree

2014-12-04 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/nouveau/nouveau_drm.c
index 62b97c4eef8d,afb93bb72f97..
--- 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 = _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, >dev->mode_config.crtc_list, head) {
+   if (crtc->enabled) {
+   DRM_DEBUG_DRIVER("failing to power off - crtc 
active\n");
+   return -EBUSY;
+   }
+

linux-next: manual merge of the drm tree with Linus' tree

2014-12-04 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/nouveau/nouveau_drm.c
index 62b97c4eef8d,afb93bb72f97..
--- 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;
+   }
+   }
+   

linux-next: manual merge of the drm tree with Linus' tree

2014-12-04 Thread Stephen Rothwell
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 Rothwells...@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/radeon_cs.c
index 6f377de099f9,75f22e5e999f..
--- 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 */


pgpilYgd9GqK3.pgp
Description: OpenPGP digital signature


Re: linux-next: manual merge of the drm tree with Linus' tree

2014-11-17 Thread Thierry Reding
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 Rothwells...@canb.auug.org.au
> 
> diff --cc drivers/gpu/drm/tegra/dc.c
> index 054a79f143ae,b957908aec73..
> --- 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


pgpslgAhELMhK.pgp
Description: PGP signature


Re: linux-next: manual merge of the drm tree with Linus' tree

2014-11-17 Thread Thierry Reding
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 Rothwells...@canb.auug.org.au
 
 diff --cc drivers/gpu/drm/tegra/dc.c
 index 054a79f143ae,b957908aec73..
 --- 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


pgpslgAhELMhK.pgp
Description: PGP signature


  1   2   >