Commit 8aabf0ed authored by Eric Farman's avatar Eric Farman Committed by Cornelia Huck

vfio-ccw: Adjust the first IDAW outside of the nested loops

Now that pfn_array_table[] is always an array of 1, it seems silly to
check for the very first entry in an array in the middle of two nested
loops, since we know it'll only ever happen once.

Let's move this outside the loops to simplify things, even though
the "k" variable is still necessary.
Signed-off-by: default avatarEric Farman <farman@linux.ibm.com>
Reviewed-by: default avatarCornelia Huck <cohuck@redhat.com>
Message-Id: <20190606202831.44135-7-farman@linux.ibm.com>
Signed-off-by: default avatarCornelia Huck <cohuck@redhat.com>
parent cc06ee98
...@@ -201,11 +201,12 @@ static inline void pfn_array_table_idal_create_words( ...@@ -201,11 +201,12 @@ static inline void pfn_array_table_idal_create_words(
pa = pat->pat_pa + i; pa = pat->pat_pa + i;
for (j = 0; j < pa->pa_nr; j++) { for (j = 0; j < pa->pa_nr; j++) {
idaws[k] = pa->pa_pfn[j] << PAGE_SHIFT; idaws[k] = pa->pa_pfn[j] << PAGE_SHIFT;
if (k == 0)
idaws[k] += pa->pa_iova & (PAGE_SIZE - 1);
k++; k++;
} }
} }
/* Adjust the first IDAW, since it may not start on a page boundary */
idaws[0] += pat->pat_pa->pa_iova & (PAGE_SIZE - 1);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment