diff mbox

[01/10] drm/i915/guc: Create intel_guc.c for defining GuC specific functionality

Message ID 1505650654-11091-1-git-send-email-sagar.a.kamble@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

sagar.a.kamble@intel.com Sept. 17, 2017, 12:17 p.m. UTC
Create intel_guc.c and move guc communication init functionality from
intel_uc.c. Prepared new initialization function intel_guc_init_early.
Moved below functions to intel_guc.c.
1. intel_guc_send_nop
2. gen8_guc_raise_irq
And below functions to intel_guc.h.
1. intel_guc_send
2. intel_guc_notify

Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Michał Winiarski <michal.winiarski@intel.com>
Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
---
 drivers/gpu/drm/i915/Makefile              |  1 +
 drivers/gpu/drm/i915/i915_guc_submission.c |  1 +
 drivers/gpu/drm/i915/intel_guc.c           | 47 ++++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_guc.h           | 43 +++++++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_guc_ct.c        |  1 +
 drivers/gpu/drm/i915/intel_guc_log.c       |  1 +
 drivers/gpu/drm/i915/intel_huc.c           |  1 +
 drivers/gpu/drm/i915/intel_uc.c            | 22 ++------------
 drivers/gpu/drm/i915/intel_uc.h            | 11 -------
 9 files changed, 97 insertions(+), 31 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/intel_guc.c
 create mode 100644 drivers/gpu/drm/i915/intel_guc.h

Comments

Michal Wajdeczko Sept. 17, 2017, 7:30 p.m. UTC | #1
On Sun, 17 Sep 2017 14:17:25 +0200, Sagar Arun Kamble  
<sagar.a.kamble@intel.com> wrote:

> Create intel_guc.c and move guc communication init functionality from
> intel_uc.c. Prepared new initialization function intel_guc_init_early.
> Moved below functions to intel_guc.c.
> 1. intel_guc_send_nop
> 2. gen8_guc_raise_irq
> And below functions to intel_guc.h.
> 1. intel_guc_send
> 2. intel_guc_notify
>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: Michał Winiarski <michal.winiarski@intel.com>
> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
> ---
>  drivers/gpu/drm/i915/Makefile              |  1 +
>  drivers/gpu/drm/i915/i915_guc_submission.c |  1 +
>  drivers/gpu/drm/i915/intel_guc.c           | 47  
> ++++++++++++++++++++++++++++++
>  drivers/gpu/drm/i915/intel_guc.h           | 43  
> +++++++++++++++++++++++++++
>  drivers/gpu/drm/i915/intel_guc_ct.c        |  1 +
>  drivers/gpu/drm/i915/intel_guc_log.c       |  1 +
>  drivers/gpu/drm/i915/intel_huc.c           |  1 +
>  drivers/gpu/drm/i915/intel_uc.c            | 22 ++------------
>  drivers/gpu/drm/i915/intel_uc.h            | 11 -------
>  9 files changed, 97 insertions(+), 31 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/intel_guc.c
>  create mode 100644 drivers/gpu/drm/i915/intel_guc.h
>
> diff --git a/drivers/gpu/drm/i915/Makefile  
> b/drivers/gpu/drm/i915/Makefile
> index 1cb8059..e13fc19 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -59,6 +59,7 @@ i915-y += i915_cmd_parser.o \
> # general-purpose microcontroller (GuC) support
>  i915-y += intel_uc.o \
> +	  intel_guc.o \
>  	  intel_guc_ct.o \
>  	  intel_guc_log.o \
>  	  intel_guc_loader.o \
> diff --git a/drivers/gpu/drm/i915/i915_guc_submission.c  
> b/drivers/gpu/drm/i915/i915_guc_submission.c
> index 3f9d227..f37cd47 100644
> --- a/drivers/gpu/drm/i915/i915_guc_submission.c
> +++ b/drivers/gpu/drm/i915/i915_guc_submission.c
> @@ -24,6 +24,7 @@
>  #include <linux/circ_buf.h>
>  #include "i915_drv.h"
>  #include "intel_uc.h"
> +#include "intel_guc.h"

Please reorder your patches and make sure that no
explicit #include "intel_guc.h" are needed.

> #include <trace/events/dma_fence.h>
> diff --git a/drivers/gpu/drm/i915/intel_guc.c  
> b/drivers/gpu/drm/i915/intel_guc.c
> new file mode 100644
> index 0000000..0c62cc2
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/intel_guc.c
> @@ -0,0 +1,47 @@
> +/*
> + * Copyright © 2017 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person  
> obtaining a
> + * copy of this software and associated documentation files (the  
> "Software"),
> + * to deal in the Software without restriction, including without  
> limitation
> + * the rights to use, copy, modify, merge, publish, distribute,  
> sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including the  
> next
> + * paragraph) shall be included in all copies or substantial portions  
> of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,  
> EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF  
> MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT  
> SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR  
> OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,  
> ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER  
> DEALINGS
> + * IN THE SOFTWARE.
> + *
> + */
> +
> +#include "i915_drv.h"
> +
> +int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32  
> len)
> +{
> +	WARN(1, "Unexpected send: action=%#x\n", *action);
> +	return -ENODEV;
> +}
> +

hmm, you're moving send functions in patch 002/010

> +static void gen8_guc_raise_irq(struct intel_guc *guc)
> +{
> +	struct drm_i915_private *dev_priv = guc_to_i915(guc);
> +
> +	I915_WRITE(GUC_SEND_INTERRUPT, GUC_SEND_TRIGGER);
> +}
> +
> +void intel_guc_init_early(struct intel_guc *guc)
> +{
> +	intel_guc_ct_init_early(&guc->ct);
> +
> +	mutex_init(&guc->send_mutex);
> +	guc->send = intel_guc_send_nop;
> +	guc->notify = gen8_guc_raise_irq;
> +}
> diff --git a/drivers/gpu/drm/i915/intel_guc.h  
> b/drivers/gpu/drm/i915/intel_guc.h
> new file mode 100644
> index 0000000..76b7113
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/intel_guc.h
> @@ -0,0 +1,43 @@
> +/*
> + * Copyright © 2017 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person  
> obtaining a
> + * copy of this software and associated documentation files (the  
> "Software"),
> + * to deal in the Software without restriction, including without  
> limitation
> + * the rights to use, copy, modify, merge, publish, distribute,  
> sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including the  
> next
> + * paragraph) shall be included in all copies or substantial portions  
> of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,  
> EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF  
> MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT  
> SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR  
> OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,  
> ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER  
> DEALINGS
> + * IN THE SOFTWARE.
> + *
> + */
> +#ifndef _INTEL_GUC_H_
> +#define _INTEL_GUC_H_
> +

hmm, starting with empty header does not look good.

> +static inline int intel_guc_send(struct intel_guc *guc,
> +				 const u32 *action,
> +				 u32 len)
> +{
> +	return guc->send(guc, action, len);
> +}
> +

hmm, you're moving send functions in patch 002/010

> +static inline void intel_guc_notify(struct intel_guc *guc)
> +{
> +	guc->notify(guc);
> +}
> +
> +/* intel_guc.c */
> +int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32  
> len);
> +void intel_guc_init_early(struct intel_guc *guc);
> +
> +#endif
> diff --git a/drivers/gpu/drm/i915/intel_guc_ct.c  
> b/drivers/gpu/drm/i915/intel_guc_ct.c
> index c4cbec1..87dd12d 100644
> --- a/drivers/gpu/drm/i915/intel_guc_ct.c
> +++ b/drivers/gpu/drm/i915/intel_guc_ct.c
> @@ -23,6 +23,7 @@
> #include "i915_drv.h"
>  #include "intel_guc_ct.h"
> +#include "intel_guc.h"

please try to avoid this

> enum { CTB_SEND = 0, CTB_RECV = 1 };
> diff --git a/drivers/gpu/drm/i915/intel_guc_log.c  
> b/drivers/gpu/drm/i915/intel_guc_log.c
> index 16d3b87..5c7e0c2 100644
> --- a/drivers/gpu/drm/i915/intel_guc_log.c
> +++ b/drivers/gpu/drm/i915/intel_guc_log.c
> @@ -24,6 +24,7 @@
>  #include <linux/debugfs.h>
>  #include <linux/relay.h>
>  #include "i915_drv.h"
> +#include "intel_guc.h"

please try to avoid this

> static void guc_log_capture_logs(struct intel_guc *guc);
> diff --git a/drivers/gpu/drm/i915/intel_huc.c  
> b/drivers/gpu/drm/i915/intel_huc.c
> index 6145fa0..b81c6af 100644
> --- a/drivers/gpu/drm/i915/intel_huc.c
> +++ b/drivers/gpu/drm/i915/intel_huc.c
> @@ -24,6 +24,7 @@
>  #include <linux/firmware.h>
>  #include "i915_drv.h"
>  #include "intel_uc.h"
> +#include "intel_guc.h"

please try to avoid this

> /**
>   * DOC: HuC Firmware
> diff --git a/drivers/gpu/drm/i915/intel_uc.c  
> b/drivers/gpu/drm/i915/intel_uc.c
> index 0178ba4..9ff5c97 100644
> --- a/drivers/gpu/drm/i915/intel_uc.c
> +++ b/drivers/gpu/drm/i915/intel_uc.c
> @@ -24,6 +24,7 @@
> #include "i915_drv.h"
>  #include "intel_uc.h"
> +#include "intel_guc.h"

please try to avoid this

>  #include <linux/firmware.h>
> /* Cleans up uC firmware by releasing the firmware GEM obj.
> @@ -94,22 +95,9 @@ void intel_uc_sanitize_options(struct  
> drm_i915_private *dev_priv)
>  		i915.enable_guc_submission = HAS_GUC_SCHED(dev_priv);
>  }
> -static void gen8_guc_raise_irq(struct intel_guc *guc)
> -{
> -	struct drm_i915_private *dev_priv = guc_to_i915(guc);
> -
> -	I915_WRITE(GUC_SEND_INTERRUPT, GUC_SEND_TRIGGER);
> -}
> -
>  void intel_uc_init_early(struct drm_i915_private *dev_priv)
>  {
> -	struct intel_guc *guc = &dev_priv->guc;
> -
> -	intel_guc_ct_init_early(&guc->ct);
> -
> -	mutex_init(&guc->send_mutex);
> -	guc->send = intel_guc_send_nop;
> -	guc->notify = gen8_guc_raise_irq;
> +	intel_guc_init_early(&dev_priv->guc);
>  }
> static void fetch_uc_fw(struct drm_i915_private *dev_priv,
> @@ -459,12 +447,6 @@ void intel_uc_fini_hw(struct drm_i915_private  
> *dev_priv)
>  	i915_ggtt_disable_guc(dev_priv);
>  }
> -int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32  
> len)
> -{
> -	WARN(1, "Unexpected send: action=%#x\n", *action);
> -	return -ENODEV;
> -}
> -
>  /*
>   * This function implements the MMIO based host to GuC interface.
>   */
> diff --git a/drivers/gpu/drm/i915/intel_uc.h  
> b/drivers/gpu/drm/i915/intel_uc.h
> index 7703c9a..27e30aa 100644
> --- a/drivers/gpu/drm/i915/intel_uc.h
> +++ b/drivers/gpu/drm/i915/intel_uc.h
> @@ -209,19 +209,8 @@ struct intel_huc {
>  int intel_uc_init_hw(struct drm_i915_private *dev_priv);
>  void intel_uc_fini_hw(struct drm_i915_private *dev_priv);
>  int intel_guc_sample_forcewake(struct intel_guc *guc);
> -int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32  
> len);
>  int intel_guc_send_mmio(struct intel_guc *guc, const u32 *action, u32  
> len);
> -static inline int intel_guc_send(struct intel_guc *guc, const u32  
> *action, u32 len)
> -{
> -	return guc->send(guc, action, len);
> -}
> -
> -static inline void intel_guc_notify(struct intel_guc *guc)
> -{
> -	guc->notify(guc);
> -}
> -
>  /* intel_guc_loader.c */
>  int intel_guc_select_fw(struct intel_guc *guc);
>  int intel_guc_init_hw(struct intel_guc *guc);
sagar.a.kamble@intel.com Sept. 18, 2017, 6:23 a.m. UTC | #2
On 9/18/2017 1:00 AM, Michal Wajdeczko wrote:
> On Sun, 17 Sep 2017 14:17:25 +0200, Sagar Arun Kamble 
> <sagar.a.kamble@intel.com> wrote:
>
>> Create intel_guc.c and move guc communication init functionality from
>> intel_uc.c. Prepared new initialization function intel_guc_init_early.
>> Moved below functions to intel_guc.c.
>> 1. intel_guc_send_nop
>> 2. gen8_guc_raise_irq
>> And below functions to intel_guc.h.
>> 1. intel_guc_send
>> 2. intel_guc_notify
>>
>> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
>> Cc: Michał Winiarski <michal.winiarski@intel.com>
>> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
>> ---
>>  drivers/gpu/drm/i915/Makefile              |  1 +
>>  drivers/gpu/drm/i915/i915_guc_submission.c |  1 +
>>  drivers/gpu/drm/i915/intel_guc.c           | 47 
>> ++++++++++++++++++++++++++++++
>>  drivers/gpu/drm/i915/intel_guc.h           | 43 
>> +++++++++++++++++++++++++++
>>  drivers/gpu/drm/i915/intel_guc_ct.c        |  1 +
>>  drivers/gpu/drm/i915/intel_guc_log.c       |  1 +
>>  drivers/gpu/drm/i915/intel_huc.c           |  1 +
>>  drivers/gpu/drm/i915/intel_uc.c            | 22 ++------------
>>  drivers/gpu/drm/i915/intel_uc.h            | 11 -------
>>  9 files changed, 97 insertions(+), 31 deletions(-)
>>  create mode 100644 drivers/gpu/drm/i915/intel_guc.c
>>  create mode 100644 drivers/gpu/drm/i915/intel_guc.h
>>
>> diff --git a/drivers/gpu/drm/i915/Makefile 
>> b/drivers/gpu/drm/i915/Makefile
>> index 1cb8059..e13fc19 100644
>> --- a/drivers/gpu/drm/i915/Makefile
>> +++ b/drivers/gpu/drm/i915/Makefile
>> @@ -59,6 +59,7 @@ i915-y += i915_cmd_parser.o \
>> # general-purpose microcontroller (GuC) support
>>  i915-y += intel_uc.o \
>> +      intel_guc.o \
>>        intel_guc_ct.o \
>>        intel_guc_log.o \
>>        intel_guc_loader.o \
>> diff --git a/drivers/gpu/drm/i915/i915_guc_submission.c 
>> b/drivers/gpu/drm/i915/i915_guc_submission.c
>> index 3f9d227..f37cd47 100644
>> --- a/drivers/gpu/drm/i915/i915_guc_submission.c
>> +++ b/drivers/gpu/drm/i915/i915_guc_submission.c
>> @@ -24,6 +24,7 @@
>>  #include <linux/circ_buf.h>
>>  #include "i915_drv.h"
>>  #include "intel_uc.h"
>> +#include "intel_guc.h"
>
> Please reorder your patches and make sure that no
> explicit #include "intel_guc.h" are needed.
Sure. Will update.
>
>> #include <trace/events/dma_fence.h>
>> diff --git a/drivers/gpu/drm/i915/intel_guc.c 
>> b/drivers/gpu/drm/i915/intel_guc.c
>> new file mode 100644
>> index 0000000..0c62cc2
>> --- /dev/null
>> +++ b/drivers/gpu/drm/i915/intel_guc.c
>> @@ -0,0 +1,47 @@
>> +/*
>> + * Copyright © 2017 Intel Corporation
>> + *
>> + * Permission is hereby granted, free of charge, to any person 
>> obtaining a
>> + * copy of this software and associated documentation files (the 
>> "Software"),
>> + * to deal in the Software without restriction, including without 
>> limitation
>> + * the rights to use, copy, modify, merge, publish, distribute, 
>> sublicense,
>> + * and/or sell copies of the Software, and to permit persons to whom 
>> the
>> + * Software is furnished to do so, subject to the following conditions:
>> + *
>> + * The above copyright notice and this permission notice (including 
>> the next
>> + * paragraph) shall be included in all copies or substantial 
>> portions of the
>> + * Software.
>> + *
>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
>> EXPRESS OR
>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
>> MERCHANTABILITY,
>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO 
>> EVENT SHALL
>> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES 
>> OR OTHER
>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
>> ARISING
>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
>> OTHER DEALINGS
>> + * IN THE SOFTWARE.
>> + *
>> + */
>> +
>> +#include "i915_drv.h"
>> +
>> +int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32 
>> len)
>> +{
>> +    WARN(1, "Unexpected send: action=%#x\n", *action);
>> +    return -ENODEV;
>> +}
>> +
>
> hmm, you're moving send functions in patch 002/010
I think I should squash these patches together as I don't see clear 
separation.
Will prepare new patch to take out any delta refactoring done.
>
>> +static void gen8_guc_raise_irq(struct intel_guc *guc)
>> +{
>> +    struct drm_i915_private *dev_priv = guc_to_i915(guc);
>> +
>> +    I915_WRITE(GUC_SEND_INTERRUPT, GUC_SEND_TRIGGER);
>> +}
>> +
>> +void intel_guc_init_early(struct intel_guc *guc)
>> +{
>> +    intel_guc_ct_init_early(&guc->ct);
>> +
>> +    mutex_init(&guc->send_mutex);
>> +    guc->send = intel_guc_send_nop;
>> +    guc->notify = gen8_guc_raise_irq;
>> +}
>> diff --git a/drivers/gpu/drm/i915/intel_guc.h 
>> b/drivers/gpu/drm/i915/intel_guc.h
>> new file mode 100644
>> index 0000000..76b7113
>> --- /dev/null
>> +++ b/drivers/gpu/drm/i915/intel_guc.h
>> @@ -0,0 +1,43 @@
>> +/*
>> + * Copyright © 2017 Intel Corporation
>> + *
>> + * Permission is hereby granted, free of charge, to any person 
>> obtaining a
>> + * copy of this software and associated documentation files (the 
>> "Software"),
>> + * to deal in the Software without restriction, including without 
>> limitation
>> + * the rights to use, copy, modify, merge, publish, distribute, 
>> sublicense,
>> + * and/or sell copies of the Software, and to permit persons to whom 
>> the
>> + * Software is furnished to do so, subject to the following conditions:
>> + *
>> + * The above copyright notice and this permission notice (including 
>> the next
>> + * paragraph) shall be included in all copies or substantial 
>> portions of the
>> + * Software.
>> + *
>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
>> EXPRESS OR
>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
>> MERCHANTABILITY,
>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO 
>> EVENT SHALL
>> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES 
>> OR OTHER
>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
>> ARISING
>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
>> OTHER DEALINGS
>> + * IN THE SOFTWARE.
>> + *
>> + */
>> +#ifndef _INTEL_GUC_H_
>> +#define _INTEL_GUC_H_
>> +
>
> hmm, starting with empty header does not look good.
>
>> +static inline int intel_guc_send(struct intel_guc *guc,
>> +                 const u32 *action,
>> +                 u32 len)
>> +{
>> +    return guc->send(guc, action, len);
>> +}
>> +
>
> hmm, you're moving send functions in patch 002/010
Yes. Will update.
>
>> +static inline void intel_guc_notify(struct intel_guc *guc)
>> +{
>> +    guc->notify(guc);
>> +}
>> +
>> +/* intel_guc.c */
>> +int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32 
>> len);
>> +void intel_guc_init_early(struct intel_guc *guc);
>> +
>> +#endif
>> diff --git a/drivers/gpu/drm/i915/intel_guc_ct.c 
>> b/drivers/gpu/drm/i915/intel_guc_ct.c
>> index c4cbec1..87dd12d 100644
>> --- a/drivers/gpu/drm/i915/intel_guc_ct.c
>> +++ b/drivers/gpu/drm/i915/intel_guc_ct.c
>> @@ -23,6 +23,7 @@
>> #include "i915_drv.h"
>>  #include "intel_guc_ct.h"
>> +#include "intel_guc.h"
>
> please try to avoid this
Yes. Will update at all places.
>
>> enum { CTB_SEND = 0, CTB_RECV = 1 };
>> diff --git a/drivers/gpu/drm/i915/intel_guc_log.c 
>> b/drivers/gpu/drm/i915/intel_guc_log.c
>> index 16d3b87..5c7e0c2 100644
>> --- a/drivers/gpu/drm/i915/intel_guc_log.c
>> +++ b/drivers/gpu/drm/i915/intel_guc_log.c
>> @@ -24,6 +24,7 @@
>>  #include <linux/debugfs.h>
>>  #include <linux/relay.h>
>>  #include "i915_drv.h"
>> +#include "intel_guc.h"
>
> please try to avoid this
>
>> static void guc_log_capture_logs(struct intel_guc *guc);
>> diff --git a/drivers/gpu/drm/i915/intel_huc.c 
>> b/drivers/gpu/drm/i915/intel_huc.c
>> index 6145fa0..b81c6af 100644
>> --- a/drivers/gpu/drm/i915/intel_huc.c
>> +++ b/drivers/gpu/drm/i915/intel_huc.c
>> @@ -24,6 +24,7 @@
>>  #include <linux/firmware.h>
>>  #include "i915_drv.h"
>>  #include "intel_uc.h"
>> +#include "intel_guc.h"
>
> please try to avoid this
>
>> /**
>>   * DOC: HuC Firmware
>> diff --git a/drivers/gpu/drm/i915/intel_uc.c 
>> b/drivers/gpu/drm/i915/intel_uc.c
>> index 0178ba4..9ff5c97 100644
>> --- a/drivers/gpu/drm/i915/intel_uc.c
>> +++ b/drivers/gpu/drm/i915/intel_uc.c
>> @@ -24,6 +24,7 @@
>> #include "i915_drv.h"
>>  #include "intel_uc.h"
>> +#include "intel_guc.h"
>
> please try to avoid this
>
>>  #include <linux/firmware.h>
>> /* Cleans up uC firmware by releasing the firmware GEM obj.
>> @@ -94,22 +95,9 @@ void intel_uc_sanitize_options(struct 
>> drm_i915_private *dev_priv)
>>          i915.enable_guc_submission = HAS_GUC_SCHED(dev_priv);
>>  }
>> -static void gen8_guc_raise_irq(struct intel_guc *guc)
>> -{
>> -    struct drm_i915_private *dev_priv = guc_to_i915(guc);
>> -
>> -    I915_WRITE(GUC_SEND_INTERRUPT, GUC_SEND_TRIGGER);
>> -}
>> -
>>  void intel_uc_init_early(struct drm_i915_private *dev_priv)
>>  {
>> -    struct intel_guc *guc = &dev_priv->guc;
>> -
>> -    intel_guc_ct_init_early(&guc->ct);
>> -
>> -    mutex_init(&guc->send_mutex);
>> -    guc->send = intel_guc_send_nop;
>> -    guc->notify = gen8_guc_raise_irq;
>> +    intel_guc_init_early(&dev_priv->guc);
>>  }
>> static void fetch_uc_fw(struct drm_i915_private *dev_priv,
>> @@ -459,12 +447,6 @@ void intel_uc_fini_hw(struct drm_i915_private 
>> *dev_priv)
>>      i915_ggtt_disable_guc(dev_priv);
>>  }
>> -int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32 
>> len)
>> -{
>> -    WARN(1, "Unexpected send: action=%#x\n", *action);
>> -    return -ENODEV;
>> -}
>> -
>>  /*
>>   * This function implements the MMIO based host to GuC interface.
>>   */
>> diff --git a/drivers/gpu/drm/i915/intel_uc.h 
>> b/drivers/gpu/drm/i915/intel_uc.h
>> index 7703c9a..27e30aa 100644
>> --- a/drivers/gpu/drm/i915/intel_uc.h
>> +++ b/drivers/gpu/drm/i915/intel_uc.h
>> @@ -209,19 +209,8 @@ struct intel_huc {
>>  int intel_uc_init_hw(struct drm_i915_private *dev_priv);
>>  void intel_uc_fini_hw(struct drm_i915_private *dev_priv);
>>  int intel_guc_sample_forcewake(struct intel_guc *guc);
>> -int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32 
>> len);
>>  int intel_guc_send_mmio(struct intel_guc *guc, const u32 *action, 
>> u32 len);
>> -static inline int intel_guc_send(struct intel_guc *guc, const u32 
>> *action, u32 len)
>> -{
>> -    return guc->send(guc, action, len);
>> -}
>> -
>> -static inline void intel_guc_notify(struct intel_guc *guc)
>> -{
>> -    guc->notify(guc);
>> -}
>> -
>>  /* intel_guc_loader.c */
>>  int intel_guc_select_fw(struct intel_guc *guc);
>>  int intel_guc_init_hw(struct intel_guc *guc);
sagar.a.kamble@intel.com Sept. 22, 2017, 11:26 a.m. UTC | #3
Kindly ignore this failure and series. This was old series and due to replying a patch to it, BAT faced issue.

-----Original Message-----
From: Patchwork [mailto:patchwork@emeril.freedesktop.org] 

Sent: Friday, September 22, 2017 4:30 PM
To: Kamble, Sagar A <sagar.a.kamble@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: ✗ Fi.CI.BAT: failure for series starting with [01/10] drm/i915/guc: Create intel_guc.c for defining GuC specific functionality (rev2)

== Series Details ==

Series: series starting with [01/10] drm/i915/guc: Create intel_guc.c for defining GuC specific functionality (rev2)
URL   : https://patchwork.freedesktop.org/series/30486/
State : failure

== Summary ==

  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  CHK     include/generated/bounds.h
  CHK     include/generated/timeconst.h
  CHK     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
  CHK     scripts/mod/devicetable-offsets.h
  CHK     include/generated/compile.h
  CHK     kernel/config_data.h
  CC [M]  drivers/gpu/drm/i915/intel_uc.o
drivers/gpu/drm/i915/intel_uc.c: In function ‘intel_uc_system_suspend’:
drivers/gpu/drm/i915/intel_uc.c:441:1: error: version control conflict marker in file  <<<<<<< HEAD  ^~~~~~~
drivers/gpu/drm/i915/intel_uc.c:444:1: error: version control conflict marker in file  =======  ^~~~~~~
drivers/gpu/drm/i915/intel_uc.c:452:1: error: version control conflict marker in file  >>>>>>> drm/i915/guc: Update GuC suspend functionality in intel_uc_suspend path  ^~~~~~~
scripts/Makefile.build:311: recipe for target 'drivers/gpu/drm/i915/intel_uc.o' failed
make[4]: *** [drivers/gpu/drm/i915/intel_uc.o] Error 1
scripts/Makefile.build:570: recipe for target 'drivers/gpu/drm/i915' failed
make[3]: *** [drivers/gpu/drm/i915] Error 2
scripts/Makefile.build:570: recipe for target 'drivers/gpu/drm' failed
make[2]: *** [drivers/gpu/drm] Error 2
scripts/Makefile.build:570: recipe for target 'drivers/gpu' failed
make[1]: *** [drivers/gpu] Error 2
Makefile:1019: recipe for target 'drivers' failed
make: *** [drivers] Error 2
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 1cb8059..e13fc19 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -59,6 +59,7 @@  i915-y += i915_cmd_parser.o \
 
 # general-purpose microcontroller (GuC) support
 i915-y += intel_uc.o \
+	  intel_guc.o \
 	  intel_guc_ct.o \
 	  intel_guc_log.o \
 	  intel_guc_loader.o \
diff --git a/drivers/gpu/drm/i915/i915_guc_submission.c b/drivers/gpu/drm/i915/i915_guc_submission.c
index 3f9d227..f37cd47 100644
--- a/drivers/gpu/drm/i915/i915_guc_submission.c
+++ b/drivers/gpu/drm/i915/i915_guc_submission.c
@@ -24,6 +24,7 @@ 
 #include <linux/circ_buf.h>
 #include "i915_drv.h"
 #include "intel_uc.h"
+#include "intel_guc.h"
 
 #include <trace/events/dma_fence.h>
 
diff --git a/drivers/gpu/drm/i915/intel_guc.c b/drivers/gpu/drm/i915/intel_guc.c
new file mode 100644
index 0000000..0c62cc2
--- /dev/null
+++ b/drivers/gpu/drm/i915/intel_guc.c
@@ -0,0 +1,47 @@ 
+/*
+ * Copyright © 2017 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ */
+
+#include "i915_drv.h"
+
+int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32 len)
+{
+	WARN(1, "Unexpected send: action=%#x\n", *action);
+	return -ENODEV;
+}
+
+static void gen8_guc_raise_irq(struct intel_guc *guc)
+{
+	struct drm_i915_private *dev_priv = guc_to_i915(guc);
+
+	I915_WRITE(GUC_SEND_INTERRUPT, GUC_SEND_TRIGGER);
+}
+
+void intel_guc_init_early(struct intel_guc *guc)
+{
+	intel_guc_ct_init_early(&guc->ct);
+
+	mutex_init(&guc->send_mutex);
+	guc->send = intel_guc_send_nop;
+	guc->notify = gen8_guc_raise_irq;
+}
diff --git a/drivers/gpu/drm/i915/intel_guc.h b/drivers/gpu/drm/i915/intel_guc.h
new file mode 100644
index 0000000..76b7113
--- /dev/null
+++ b/drivers/gpu/drm/i915/intel_guc.h
@@ -0,0 +1,43 @@ 
+/*
+ * Copyright © 2017 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ */
+#ifndef _INTEL_GUC_H_
+#define _INTEL_GUC_H_
+
+static inline int intel_guc_send(struct intel_guc *guc,
+				 const u32 *action,
+				 u32 len)
+{
+	return guc->send(guc, action, len);
+}
+
+static inline void intel_guc_notify(struct intel_guc *guc)
+{
+	guc->notify(guc);
+}
+
+/* intel_guc.c */
+int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32 len);
+void intel_guc_init_early(struct intel_guc *guc);
+
+#endif
diff --git a/drivers/gpu/drm/i915/intel_guc_ct.c b/drivers/gpu/drm/i915/intel_guc_ct.c
index c4cbec1..87dd12d 100644
--- a/drivers/gpu/drm/i915/intel_guc_ct.c
+++ b/drivers/gpu/drm/i915/intel_guc_ct.c
@@ -23,6 +23,7 @@ 
 
 #include "i915_drv.h"
 #include "intel_guc_ct.h"
+#include "intel_guc.h"
 
 enum { CTB_SEND = 0, CTB_RECV = 1 };
 
diff --git a/drivers/gpu/drm/i915/intel_guc_log.c b/drivers/gpu/drm/i915/intel_guc_log.c
index 16d3b87..5c7e0c2 100644
--- a/drivers/gpu/drm/i915/intel_guc_log.c
+++ b/drivers/gpu/drm/i915/intel_guc_log.c
@@ -24,6 +24,7 @@ 
 #include <linux/debugfs.h>
 #include <linux/relay.h>
 #include "i915_drv.h"
+#include "intel_guc.h"
 
 static void guc_log_capture_logs(struct intel_guc *guc);
 
diff --git a/drivers/gpu/drm/i915/intel_huc.c b/drivers/gpu/drm/i915/intel_huc.c
index 6145fa0..b81c6af 100644
--- a/drivers/gpu/drm/i915/intel_huc.c
+++ b/drivers/gpu/drm/i915/intel_huc.c
@@ -24,6 +24,7 @@ 
 #include <linux/firmware.h>
 #include "i915_drv.h"
 #include "intel_uc.h"
+#include "intel_guc.h"
 
 /**
  * DOC: HuC Firmware
diff --git a/drivers/gpu/drm/i915/intel_uc.c b/drivers/gpu/drm/i915/intel_uc.c
index 0178ba4..9ff5c97 100644
--- a/drivers/gpu/drm/i915/intel_uc.c
+++ b/drivers/gpu/drm/i915/intel_uc.c
@@ -24,6 +24,7 @@ 
 
 #include "i915_drv.h"
 #include "intel_uc.h"
+#include "intel_guc.h"
 #include <linux/firmware.h>
 
 /* Cleans up uC firmware by releasing the firmware GEM obj.
@@ -94,22 +95,9 @@  void intel_uc_sanitize_options(struct drm_i915_private *dev_priv)
 		i915.enable_guc_submission = HAS_GUC_SCHED(dev_priv);
 }
 
-static void gen8_guc_raise_irq(struct intel_guc *guc)
-{
-	struct drm_i915_private *dev_priv = guc_to_i915(guc);
-
-	I915_WRITE(GUC_SEND_INTERRUPT, GUC_SEND_TRIGGER);
-}
-
 void intel_uc_init_early(struct drm_i915_private *dev_priv)
 {
-	struct intel_guc *guc = &dev_priv->guc;
-
-	intel_guc_ct_init_early(&guc->ct);
-
-	mutex_init(&guc->send_mutex);
-	guc->send = intel_guc_send_nop;
-	guc->notify = gen8_guc_raise_irq;
+	intel_guc_init_early(&dev_priv->guc);
 }
 
 static void fetch_uc_fw(struct drm_i915_private *dev_priv,
@@ -459,12 +447,6 @@  void intel_uc_fini_hw(struct drm_i915_private *dev_priv)
 	i915_ggtt_disable_guc(dev_priv);
 }
 
-int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32 len)
-{
-	WARN(1, "Unexpected send: action=%#x\n", *action);
-	return -ENODEV;
-}
-
 /*
  * This function implements the MMIO based host to GuC interface.
  */
diff --git a/drivers/gpu/drm/i915/intel_uc.h b/drivers/gpu/drm/i915/intel_uc.h
index 7703c9a..27e30aa 100644
--- a/drivers/gpu/drm/i915/intel_uc.h
+++ b/drivers/gpu/drm/i915/intel_uc.h
@@ -209,19 +209,8 @@  struct intel_huc {
 int intel_uc_init_hw(struct drm_i915_private *dev_priv);
 void intel_uc_fini_hw(struct drm_i915_private *dev_priv);
 int intel_guc_sample_forcewake(struct intel_guc *guc);
-int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32 len);
 int intel_guc_send_mmio(struct intel_guc *guc, const u32 *action, u32 len);
 
-static inline int intel_guc_send(struct intel_guc *guc, const u32 *action, u32 len)
-{
-	return guc->send(guc, action, len);
-}
-
-static inline void intel_guc_notify(struct intel_guc *guc)
-{
-	guc->notify(guc);
-}
-
 /* intel_guc_loader.c */
 int intel_guc_select_fw(struct intel_guc *guc);
 int intel_guc_init_hw(struct intel_guc *guc);