Lines Matching defs:ks

60 #define to_ks8851_spi(ks) container_of((ks), struct ks8851_net_spi, ks8851)
77 * @ks: The chip state
82 static void ks8851_lock_spi(struct ks8851_net *ks, unsigned long *flags)
84 struct ks8851_net_spi *kss = to_ks8851_spi(ks);
91 * @ks: The chip state
96 static void ks8851_unlock_spi(struct ks8851_net *ks, unsigned long *flags)
98 struct ks8851_net_spi *kss = to_ks8851_spi(ks);
112 * @ks: The chip state
118 static void ks8851_wrreg16_spi(struct ks8851_net *ks, unsigned int reg,
121 struct ks8851_net_spi *kss = to_ks8851_spi(ks);
136 netdev_err(ks->netdev, "spi_sync() failed\n");
141 * @ks: The device state
149 static void ks8851_rdreg(struct ks8851_net *ks, unsigned int op,
152 struct ks8851_net_spi *kss = to_ks8851_spi(ks);
155 __le16 *txb = (__le16 *)ks->txd;
156 u8 *trx = ks->rxd;
184 netdev_err(ks->netdev, "read: spi_sync() failed\n");
193 * @ks: The chip information
198 static unsigned int ks8851_rdreg16_spi(struct ks8851_net *ks, unsigned int reg)
202 ks8851_rdreg(ks, MK_OP(reg & 2 ? 0xC : 0x3, reg), (u8 *)&rx, 2);
208 * @ks: The device state.
215 static void ks8851_rdfifo_spi(struct ks8851_net *ks, u8 *buff, unsigned int len)
217 struct ks8851_net_spi *kss = to_ks8851_spi(ks);
223 netif_dbg(ks, rx_status, ks->netdev,
240 netdev_err(ks->netdev, "%s: spi_sync() failed\n", __func__);
245 * @ks: The device state.
254 static void ks8851_wrfifo_spi(struct ks8851_net *ks, struct sk_buff *txp,
257 struct ks8851_net_spi *kss = to_ks8851_spi(ks);
263 netif_dbg(ks, tx_queued, ks->netdev, "%s: skb %p, %d@%p, irq %d\n",
266 fid = ks->fid++;
273 ks->txh.txb[1] = KS_SPIOP_TXFIFO;
274 ks->txh.txw[1] = cpu_to_le16(fid);
275 ks->txh.txw[2] = cpu_to_le16(txp->len);
277 xfer->tx_buf = &ks->txh.txb[1];
288 netdev_err(ks->netdev, "%s: spi_sync() failed\n", __func__);
305 * @ks: The device state
308 static void ks8851_rx_skb_spi(struct ks8851_net *ks, struct sk_buff *skb)
325 struct ks8851_net *ks;
331 ks = &kss->ks8851;
332 last = skb_queue_empty(&ks->txq);
334 ks8851_lock_spi(ks, &flags);
337 txb = skb_dequeue(&ks->txq);
338 last = skb_queue_empty(&ks->txq);
343 ks8851_wrreg16_spi(ks, KS_RXQCR,
344 ks->rc_rxqcr | RXQCR_SDA);
345 ks8851_wrfifo_spi(ks, txb, last);
346 ks8851_wrreg16_spi(ks, KS_RXQCR, ks->rc_rxqcr);
347 ks8851_wrreg16_spi(ks, KS_TXQCR, TXQCR_METFE);
349 ks8851_done_tx(ks, txb);
353 tx_space = ks8851_rdreg16_spi(ks, KS_TXMIR);
355 spin_lock(&ks->statelock);
356 ks->queued_len -= dequeued_len;
357 ks->tx_space = tx_space;
358 spin_unlock(&ks->statelock);
360 ks8851_unlock_spi(ks, &flags);
365 * @ks: The device state
367 static void ks8851_flush_tx_work_spi(struct ks8851_net *ks)
369 struct ks8851_net_spi *kss = to_ks8851_spi(ks);
391 struct ks8851_net *ks = netdev_priv(dev);
395 kss = to_ks8851_spi(ks);
397 netif_dbg(ks, tx_queued, ks->netdev,
400 spin_lock(&ks->statelock);
402 if (ks->queued_len + needed > ks->tx_space) {
406 ks->queued_len += needed;
407 skb_queue_tail(&ks->txq, skb);
410 spin_unlock(&ks->statelock);
422 struct ks8851_net *ks;
430 ks = netdev_priv(netdev);
432 ks->lock = ks8851_lock_spi;
433 ks->unlock = ks8851_unlock_spi;
434 ks->rdreg16 = ks8851_rdreg16_spi;
435 ks->wrreg16 = ks8851_wrreg16_spi;
436 ks->rdfifo = ks8851_rdfifo_spi;
437 ks->wrfifo = ks8851_wrfifo_spi;
438 ks->start_xmit = ks8851_start_xmit_spi;
439 ks->rx_skb = ks8851_rx_skb_spi;
440 ks->flush_tx_work = ks8851_flush_tx_work_spi;
448 ks->rc_ier = STD_IRQ;
450 kss = to_ks8851_spi(ks);