On Thu, Mar 02, 2017 at 04:36:05PM +0000, Chris Wilson wrote:
> On Thu, Mar 02, 2017 at 05:03:48PM +0100, Arkadiusz Hiler wrote:
> > The file fits better.
> > 
> > Additionally rename it to intel_uc_prepare_fw(), as the function does
> > more than simple fetch.
> > 
> > v2: remove second declaration, reorder (M. Wajdeczko)
> > 
> > Cc: Michal Wajdeczko <michal.wajdec...@intel.com>
> > Signed-off-by: Arkadiusz Hiler <arkadiusz.hi...@intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_guc_loader.c | 137 
> > +-------------------------------
> >  drivers/gpu/drm/i915/intel_huc.c        |   2 +-
> >  drivers/gpu/drm/i915/intel_uc.c         | 135 
> > +++++++++++++++++++++++++++++++
> >  drivers/gpu/drm/i915/intel_uc.h         |   4 +-
> >  4 files changed, 139 insertions(+), 139 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_guc_loader.c 
> > b/drivers/gpu/drm/i915/intel_guc_loader.c
> > index 9f09e26..20e3337 100644
> > --- a/drivers/gpu/drm/i915/intel_guc_loader.c
> > +++ b/drivers/gpu/drm/i915/intel_guc_loader.c
> > @@ -26,7 +26,6 @@
> >   *    Dave Gordon <david.s.gor...@intel.com>
> >   *    Alex Dai <yu....@intel.com>
> >   */
> > -#include <linux/firmware.h>
> >  #include "i915_drv.h"
> >  #include "intel_uc.h"
> >  
> > +void intel_uc_prepare_fw(struct drm_i915_private *dev_priv,
> > +                    struct intel_uc_fw *uc_fw)
> > +{
> > +   struct pci_dev *pdev = dev_priv->drm.pdev;
> > +   struct drm_i915_gem_object *obj;
> > +   const struct firmware *fw = NULL;
> > +   struct uc_css_header *css;
> > +   size_t size;
> > +   int err;
> 
> ...
> 
> > +
> > +   mutex_lock(&dev_priv->drm.struct_mutex);
> > +   obj = i915_gem_object_create_from_data(dev_priv, fw->data, fw->size);
> > +   mutex_unlock(&dev_priv->drm.struct_mutex);
> > +   if (IS_ERR_OR_NULL(obj)) {
> > +           err = obj ? PTR_ERR(obj) : -ENOMEM;
> > +           goto fail;
> > +   }
> > +
> > +   uc_fw->obj = obj;
> > +   uc_fw->size = fw->size;
> > +
> > +   DRM_DEBUG_DRIVER("uC fw fetch status SUCCESS, obj %p\n",
> > +                   uc_fw->obj);
> > +
> > +   release_firmware(fw);
> > +   uc_fw->fetch_status = INTEL_UC_FIRMWARE_SUCCESS;
> > +   return;
> > +
> > +fail:
> > +   DRM_WARN("Failed to fetch valid uC firmware from %s (error %d)\n",
> > +            uc_fw->path, err);
> > +   DRM_DEBUG_DRIVER("uC fw fetch status FAIL; err %d, fw %p, obj %p\n",
> > +           err, fw, uc_fw->obj);
> > +
> > +   obj = fetch_and_zero(&uc_fw->obj);
> > +   if (obj)
> > +           i915_gem_object_put(obj);
> 
> I missed whether you fixed this in later patches, but uc_fw->obj can
> never be set at this point.

Sorry, it had eluded me. Onto it, thanks.

-- 
Cheers,
Arek
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to