[Intel-gfx] [PATCH v4] gpu: drm: i915: Change return type to vm_fault_t
Souptick Joarder
jrdr.linux at gmail.com
Thu May 31 04:32:16 UTC 2018
On Mon, May 21, 2018 at 4:48 PM, Souptick Joarder <jrdr.linux at gmail.com> wrote:
> On Thu, May 17, 2018 at 10:40 AM, Souptick Joarder <jrdr.linux at gmail.com> wrote:
>> On Thu, May 17, 2018 at 12:48 AM, Chris Wilson <chris at chris-wilson.co.uk> wrote:
>>> Quoting Souptick Joarder (2018-05-16 20:12:20)
>>>> Use new return type vm_fault_t for fault handler. For
>>>> now, this is just documenting that the function returns
>>>> a VM_FAULT value rather than an errno. Once all instances
>>>> are converted, vm_fault_t will become a distinct type.
>>>>
>>>> commit 1c8f422059ae ("mm: change return type to vm_fault_t")
>>>>
>>>> Fixed one checkpatch.pl warning inside WARN_ONCE.
>>>>
>>>> Signed-off-by: Souptick Joarder <jrdr.linux at gmail.com>
>>>> ---
>>>
>>>> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
>>>> index dd89abd..732abdf 100644
>>>> --- a/drivers/gpu/drm/i915/i915_gem.c
>>>> +++ b/drivers/gpu/drm/i915/i915_gem.c
>>>> @@ -1882,7 +1882,7 @@ int i915_gem_mmap_gtt_version(void)
>>>> * The current feature set supported by i915_gem_fault() and thus GTT mmaps
>>>> * is exposed via I915_PARAM_MMAP_GTT_VERSION (see i915_gem_mmap_gtt_version).
>>>> */
>>>> -int i915_gem_fault(struct vm_fault *vmf)
>>>> +vm_fault_t i915_gem_fault(struct vm_fault *vmf)
>>>> {
>>>> #define MIN_CHUNK_PAGES ((1 << 20) >> PAGE_SHIFT) /* 1 MiB */
>>>> struct vm_area_struct *area = vmf->vma;
>>>> @@ -1894,7 +1894,8 @@ int i915_gem_fault(struct vm_fault *vmf)
>>>> struct i915_vma *vma;
>>>> pgoff_t page_offset;
>>>> unsigned int flags;
>>>> - int ret;
>>>> + int err;
>>>> + vm_fault_t ret = VM_FAULT_SIGBUS;
>>>>
>>>> /* We don't use vmf->pgoff since that has the fake offset */
>>>> page_offset = (vmf->address - area->vm_start) >> PAGE_SHIFT;
>>>> @@ -2027,8 +2028,7 @@ int i915_gem_fault(struct vm_fault *vmf)
>>>> ret = VM_FAULT_SIGBUS;
>>>> break;
>>>> default:
>>>> - WARN_ONCE(ret, "unhandled error in i915_gem_fault: %i\n", ret);
>>>> - ret = VM_FAULT_SIGBUS;
>>>> + WARN_ONCE(ret, "unhandled error in %s: %x\n", __func__, err);
>>>> break;
>>>
>>> Even simpler would be to use e.g. return VM_FAULT_SIGBUS for each case
>>> above. No early initialisation of use-once variables allowing the
>>> compiler to do it's job. For a smaller patch, you can even skip the
>>> s/ret/err/
>>> -Chris
>>
>> Chris,
>> I prefer to use return once at the end of the function rather than
>> writing multiple return statement (Current code is doing similar).
>> But if you think other way, I can make that change :)
>
> If no further comment, we would like to get this patch
> in queue for 4.18
We need to get this patch in queue for 4.18.
More information about the Intel-gfx
mailing list