diff options
author | Liu Ying <victor.liu@nxp.com> | 2019-01-03 12:57:05 +0800 |
---|---|---|
committer | Jason Liu <jason.hui.liu@nxp.com> | 2019-02-12 10:35:51 +0800 |
commit | 7b0c0e8a2dc0d4988b49037420a1695f3de0cefc (patch) | |
tree | 3f46236fbf6b6f779e150ff740223bee1c1d1fb4 /include/video | |
parent | 04e944b4539a6c73e57cf1f847eff73649f728c9 (diff) |
MLK-20671-1 gpu: imx: dpu: framegen: Add helpers to get/clear sec chan status
This patch adds two helpers to get and clear FrameGen secondary channel
status respectively. Via the two helpers, users may know if there is
empty FIFO read request on this channel or not after getting the status.
And, if yes, users may choose to clear the status. According to the IP
spec, the empty FIFO read request indicates that data stream from a Fetch
unit(e.g., AXI bandwidth not sufficient) fell down. Assuming the display
driver sets things up properly, the falling down is very likely caused by
the insufficient AXI bandwidth, that is, display underrun.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Diffstat (limited to 'include/video')
-rw-r--r-- | include/video/dpu.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/video/dpu.h b/include/video/dpu.h index 16adc62279b0..ffa3e5a69d14 100644 --- a/include/video/dpu.h +++ b/include/video/dpu.h @@ -1,6 +1,6 @@ /* * Copyright (C) 2016 Freescale Semiconductor, Inc. - * Copyright 2017-2018 NXP + * Copyright 2017-2019 NXP * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -622,6 +622,8 @@ void framegen_wait_done(struct dpu_framegen *fg, struct drm_display_mode *m); void framegen_read_timestamp(struct dpu_framegen *fg, u32 *frame_index, u32 *line_index); void framegen_wait_for_frame_counter_moving(struct dpu_framegen *fg); +bool framegen_secondary_requests_to_read_empty_fifo(struct dpu_framegen *fg); +void framegen_secondary_clear_channel_status(struct dpu_framegen *fg); bool framegen_secondary_is_syncup(struct dpu_framegen *fg); void framegen_wait_for_secondary_syncup(struct dpu_framegen *fg); void framegen_enable_clock(struct dpu_framegen *fg); |