Hi,
On Mon, Oct 12, 2020 at 2:05 AM Akash Asthana wrote:
>
> Hi Stephen,
>
>
> >>
> >> static void geni_se_select_dma_mode(struct geni_se *se)
> >> {
> >> + u32 proto = geni_se_read_proto(se);
> >> u32 val;
> >>
> >> geni_se_irq_clear(se);
> >>
> >> + val = readl
Hi Stephen,
static void geni_se_select_dma_mode(struct geni_se *se)
{
+ u32 proto = geni_se_read_proto(se);
u32 val;
geni_se_irq_clear(se);
+ val = readl_relaxed(se->base + SE_GENI_M_IRQ_EN);
+ if (proto != GENI_SE_UART) {
Not a problem with th
On 10/9/2020 4:22 AM, Douglas Anderson wrote:
On geni-i2c transfers using DMA, it was seen that if you program the
command (I2C_READ) before calling geni_se_rx_dma_prep() that it could
cause interrupts to fire. If we get unlucky, these interrupts can
just keep firing (and not be handled) block
Quoting Douglas Anderson (2020-10-08 15:52:33)
> On geni-i2c transfers using DMA, it was seen that if you program the
> command (I2C_READ) before calling geni_se_rx_dma_prep() that it could
> cause interrupts to fire. If we get unlucky, these interrupts can
> just keep firing (and not be handled)
On geni-i2c transfers using DMA, it was seen that if you program the
command (I2C_READ) before calling geni_se_rx_dma_prep() that it could
cause interrupts to fire. If we get unlucky, these interrupts can
just keep firing (and not be handled) blocking further progress and
hanging the system.
In c
5 matches
Mail list logo