drm/xe/oa: Ensure that polled read returns latest data
[ Upstream commit 98c9d27ab30aa9c6451d3a34e6e297171f273e51 ] In polled mode, user calls poll() for read data to be available before performing a read(). In the duration between these 2 calls, there may be new data available in the OA buffer. To ensure user reads all available data, check for latest data in the OA buffer in polled read. Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250212010255.1423343-1-umesh.nerlige.ramappa@intel.com Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
4d9fa2ebc0
commit
9058b48578
@@ -535,6 +535,7 @@ static ssize_t xe_oa_read(struct file *file, char __user *buf,
|
||||
mutex_unlock(&stream->stream_lock);
|
||||
} while (!offset && !ret);
|
||||
} else {
|
||||
xe_oa_buffer_check_unlocked(stream);
|
||||
mutex_lock(&stream->stream_lock);
|
||||
ret = __xe_oa_read(stream, buf, count, &offset);
|
||||
mutex_unlock(&stream->stream_lock);
|
||||
|
||||
Reference in New Issue
Block a user