33 #include <linux/kernel.h>
35 #include <linux/types.h>
37 #include <linux/slab.h>
61 unsigned long flags, mflags;
75 fib = &dev->
fibs[index >> 2];
90 spin_unlock_irqrestore(q->
lock, flags);
96 spin_unlock_irqrestore(q->
lock, flags);
134 spin_unlock_irqrestore(&fib->
event_lock, flagv);
141 if (fib->
done == 2) {
144 spin_unlock_irqrestore(&fib->
event_lock, flagv);
158 spin_unlock_irqrestore(q->
lock, flags);
191 struct fib *
fib = &fibctx;
205 memset(fib, 0,
sizeof(
struct fib));
208 fib->
size =
sizeof(
struct fib);
220 spin_unlock_irqrestore(q->
lock, flags);
229 spin_unlock_irqrestore(q->
lock, flags);
243 static void aac_aif_callback(
void *
context,
struct fib * fibptr)
250 fibctx = (
struct fib *)context;
254 if (fibptr->
hw_fib_va->header.XferState &
286 int isAif,
int isFastResponse,
struct hw_fib *aif_fib)
288 unsigned long mflags;
302 || (!(fib = kzalloc(
sizeof(
struct fib),
GFP_ATOMIC))))
304 if (!(hw_fib = kzalloc(
sizeof(
struct hw_fib),
GFP_ATOMIC))) {
308 if (aif_fib !=
NULL) {
309 memcpy(hw_fib, aif_fib,
sizeof(
struct hw_fib));
313 index),
sizeof(
struct hw_fib));
317 fib->
size =
sizeof(
struct fib);
325 spin_unlock_irqrestore(q->
lock, flags);
327 }
else if (isAif == 2) {
365 if (isFastResponse) {
402 spin_unlock_irqrestore(&fib->
event_lock, flagv);
409 if (fib->
done == 2) {
412 spin_unlock_irqrestore(&fib->
event_lock, flagv);