Re: [PATCH v3 1/2] drm/bridge: Add Cadence DSI driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> writes:

> Hi Eric,
>
> On Thu, 31 Aug 2017 10:03:23 -0700
> Eric Anholt <eric@xxxxxxxxxx> wrote:
>
>> Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> writes:
>> > +			      VID_DATATYPE(MIPI_DSI_PACKED_PIXEL_STREAM_16);
>> > +			break;
>> > +
>> > +		default:
>> > +			dev_err(dsi->base.dev, "Unsupported DSI format\n");
>> > +			return;
>> > +		}  
>> 
>> > +static irqreturn_t cdns_dsi_interrupt(int irq, void *data)
>> > +{
>> > +	struct cdns_dsi *dsi = data;
>> > +	irqreturn_t ret = IRQ_NONE;
>> > +	u32 flag, ctl;
>> > +
>> > +	flag = readl(dsi->regs + DIRECT_CMD_STS_FLAG);
>> > +	if (flag) {
>> > +		ctl = readl(dsi->regs + DIRECT_CMD_STS_CTL);
>> > +		ctl &= ~flag;
>> > +		writel(ctl, dsi->regs + DIRECT_CMD_STS_CTL);  
>> 
>> Are you meant to just write flag to DIRECT_CMD_STS_CLEAR, maybe?
>
> Actually, I want to keep the status flag untouched, I'm just masking the
> interrupt to not be interrupted until the waiter has cleared the
> status flags.
>
> I'm doing that because the user may want to wait for several different
> events (error, done, timeout, ...), and I'm not doing the check in the
> interrupt handler. Instead, I'm just waking up the waiter and let him
> check the status flag himself.

Oh, OK.  That sounds good.

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux