diff options
author | Andrew Jeffery <[email protected]> | 2019-11-08 15:49:39 +1030 |
---|---|---|
committer | Greg Kroah-Hartman <[email protected]> | 2019-11-08 11:23:40 +0100 |
commit | 9f4c2b516b4f031e3cd0e45957f4150b3c1a083d (patch) | |
tree | 0637520c81b2cdda36ba81f19d7af89aa844f539 /drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | |
parent | ae77481601596096939e1eac9b6e0c8e709b37c9 (diff) |
fsi: core: Fix small accesses and unaligned offsets via sysfs
Subtracting the offset delta from four-byte alignment lead to wrapping
of the requested length where `count` is less than `off`. Generalise the
length handling to enable and optimise aligned access sizes for all
offset and size combinations. The new formula produces the following
results for given offset and count values:
offset count | length
--------------+-------
0 1 | 1
0 2 | 2
0 3 | 2
0 4 | 4
0 5 | 4
1 1 | 1
1 2 | 1
1 3 | 1
1 4 | 1
1 5 | 1
2 1 | 1
2 2 | 2
2 3 | 2
2 4 | 2
2 5 | 2
3 1 | 1
3 2 | 1
3 3 | 1
3 4 | 1
3 5 | 1
We might need something like this for the cfam chardevs as well, for
example we don't currently implement any alignment restrictions /
handling in the hardware master driver.
Signed-off-by: Andrew Jeffery <[email protected]>
Signed-off-by: Joel Stanley <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c')
0 files changed, 0 insertions, 0 deletions