Lines Matching refs:hb

158 static inline int hdlcdrv_hbuf_full(struct hdlcdrv_hdlcbuffer *hb)   in hdlcdrv_hbuf_full()  argument
163 spin_lock_irqsave(&hb->lock, flags); in hdlcdrv_hbuf_full()
164 ret = !((HDLCDRV_HDLCBUFFER - 1 + hb->rd - hb->wr) % HDLCDRV_HDLCBUFFER); in hdlcdrv_hbuf_full()
165 spin_unlock_irqrestore(&hb->lock, flags); in hdlcdrv_hbuf_full()
171 static inline int hdlcdrv_hbuf_empty(struct hdlcdrv_hdlcbuffer *hb) in hdlcdrv_hbuf_empty() argument
176 spin_lock_irqsave(&hb->lock, flags); in hdlcdrv_hbuf_empty()
177 ret = (hb->rd == hb->wr); in hdlcdrv_hbuf_empty()
178 spin_unlock_irqrestore(&hb->lock, flags); in hdlcdrv_hbuf_empty()
184 static inline unsigned short hdlcdrv_hbuf_get(struct hdlcdrv_hdlcbuffer *hb) in hdlcdrv_hbuf_get() argument
190 spin_lock_irqsave(&hb->lock, flags); in hdlcdrv_hbuf_get()
191 if (hb->rd == hb->wr) in hdlcdrv_hbuf_get()
194 newr = (hb->rd+1) % HDLCDRV_HDLCBUFFER; in hdlcdrv_hbuf_get()
195 val = hb->buf[hb->rd]; in hdlcdrv_hbuf_get()
196 hb->rd = newr; in hdlcdrv_hbuf_get()
198 spin_unlock_irqrestore(&hb->lock, flags); in hdlcdrv_hbuf_get()
204 static inline void hdlcdrv_hbuf_put(struct hdlcdrv_hdlcbuffer *hb, in hdlcdrv_hbuf_put() argument
210 spin_lock_irqsave(&hb->lock, flags); in hdlcdrv_hbuf_put()
211 newp = (hb->wr+1) % HDLCDRV_HDLCBUFFER; in hdlcdrv_hbuf_put()
212 if (newp != hb->rd) { in hdlcdrv_hbuf_put()
213 hb->buf[hb->wr] = val & 0xffff; in hdlcdrv_hbuf_put()
214 hb->wr = newp; in hdlcdrv_hbuf_put()
216 spin_unlock_irqrestore(&hb->lock, flags); in hdlcdrv_hbuf_put()