Re: [PATCH v12] staging: fbtft: add tearing signal detect
From: Greg KH <gregkh@linuxfoundation.org>
Date: 2021-01-28 12:59:39
Also in:
dri-devel, lkml
On Thu, Jan 28, 2021 at 08:53:55PM +0800, Carlis wrote:
quoted hunk ↗ jump to hunk
From: zhangxuezhi <redacted> For st7789v ic,when we need continuous full screen refresh, it is best to wait for the TE signal arrive to avoid screen tearing Signed-off-by: zhangxuezhi <redacted> --- v12: change dev_err to dev_err_probe and add space in comments start, and delete te_mutex, change te wait logic v11: remove devm_gpio_put and change a dev_err to dev_info v10: additional notes v9: change pr_* to dev_* v8: delete a log line v7: return error value when request fail v6: add te gpio request fail deal logic v5: fix log print v4: modify some code style and change te irq set function name v3: modify author and signed-off-by name v2: add release te gpio after irq request fail --- drivers/staging/fbtft/fb_st7789v.c | 116 +++++++++++++++++++++++++++++++++++++ drivers/staging/fbtft/fbtft.h | 1 + 2 files changed, 117 insertions(+)diff --git a/drivers/staging/fbtft/fb_st7789v.c b/drivers/staging/fbtft/fb_st7789v.c index 3a280cc..f08e9da 100644 --- a/drivers/staging/fbtft/fb_st7789v.c +++ b/drivers/staging/fbtft/fb_st7789v.c@@ -9,7 +9,11 @@ #include <linux/delay.h> #include <linux/init.h> #include <linux/kernel.h> +#include <linux/interrupt.h> +#include <linux/completion.h> #include <linux/module.h> +#include <linux/gpio/consumer.h> + #include <video/mipi_display.h> #include "fbtft.h"@@ -66,6 +70,15 @@ enum st7789v_command { #define MADCTL_MX BIT(6) /* bitmask for column address order */ #define MADCTL_MY BIT(7) /* bitmask for page address order */ +#define SPI_PANEL_TE_TIMEOUT 400 /* msecs */ +static struct completion spi_panel_te;
Doesn't this structure have to be per-device? How can it be global for all devices in the system controlled by this driver? thanks, greg k-h