Subversion Repositories HelenOS

Rev

Rev 4343 | Rev 4345 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4343 Rev 4344
Line 308... Line 308...
308
}
308
}
309
 
309
 
310
/**
310
/**
311
 * The driver works in polled mode, so no interrupt should be handled by it.
311
 * The driver works in polled mode, so no interrupt should be handled by it.
312
 */
312
 */
313
static irq_ownership_t sgcn_claim(void *instance)
313
static irq_ownership_t sgcn_claim(irq_t *irq)
314
{
314
{
315
    return IRQ_DECLINE;
315
    return IRQ_DECLINE;
316
}
316
}
317
 
317
 
318
/**
318
/**
Line 379... Line 379...
379
        SGCN_BUFFER(char, SGCN_BUFFER_HEADER->in_rdptr);
379
        SGCN_BUFFER(char, SGCN_BUFFER_HEADER->in_rdptr);
380
    volatile uint32_t *in_wrptr_ptr = &(SGCN_BUFFER_HEADER->in_wrptr);
380
    volatile uint32_t *in_wrptr_ptr = &(SGCN_BUFFER_HEADER->in_wrptr);
381
    volatile uint32_t *in_rdptr_ptr = &(SGCN_BUFFER_HEADER->in_rdptr);
381
    volatile uint32_t *in_rdptr_ptr = &(SGCN_BUFFER_HEADER->in_rdptr);
382
   
382
   
383
    if (*in_rdptr_ptr != *in_wrptr_ptr) {
383
    if (*in_rdptr_ptr != *in_wrptr_ptr) {
384
        if (sgcn_irq.notif_cfg.notify && sgcn_irq.notif_cfg.answerbox) {
-
 
385
            ipc_irq_send_notif(&sgcn_irq);
384
        /* XXX: send notification to userspace */
386
            spinlock_unlock(&sgcn_irq.lock);
-
 
387
            interrupts_restore(ipl);
-
 
388
            spinlock_unlock(&sgcn_input_lock);
-
 
389
            return;
-
 
390
        }
-
 
391
    }
385
    }
392
   
386
   
393
    spinlock_unlock(&sgcn_irq.lock);
387
    spinlock_unlock(&sgcn_irq.lock);
394
    interrupts_restore(ipl);   
388
    interrupts_restore(ipl);   
395
 
389