/linux-6.1.9/lib/ |
D | bch.c | 152 static u8 swap_bits(struct bch_control *bch, u8 in) in swap_bits() argument 154 if (!bch->swap_bits) in swap_bits() 163 static void bch_encode_unaligned(struct bch_control *bch, in bch_encode_unaligned() argument 169 const int l = BCH_ECC_WORDS(bch)-1; in bch_encode_unaligned() 172 u8 tmp = swap_bits(bch, *data++); in bch_encode_unaligned() 174 p = bch->mod8_tab + (l+1)*(((ecc[0] >> 24)^(tmp)) & 0xff); in bch_encode_unaligned() 186 static void load_ecc8(struct bch_control *bch, uint32_t *dst, in load_ecc8() argument 190 unsigned int i, nwords = BCH_ECC_WORDS(bch)-1; in load_ecc8() 193 dst[i] = ((u32)swap_bits(bch, src[0]) << 24) | in load_ecc8() 194 ((u32)swap_bits(bch, src[1]) << 16) | in load_ecc8() [all …]
|
/linux-6.1.9/drivers/isdn/mISDN/ |
D | hwchannel.c | 39 struct bchannel *bch = container_of(ws, struct bchannel, workq); in bchannel_bh() local 43 if (test_and_clear_bit(FLG_RECVQUEUE, &bch->Flags)) { in bchannel_bh() 44 while ((skb = skb_dequeue(&bch->rqueue))) { in bchannel_bh() 45 bch->rcount--; in bchannel_bh() 46 if (likely(bch->ch.peer)) { in bchannel_bh() 47 err = bch->ch.recv(bch->ch.peer, skb); in bchannel_bh() 156 mISDN_ctrl_bchannel(struct bchannel *bch, struct mISDN_ctrl_req *cq) in mISDN_ctrl_bchannel() argument 167 memset(bch->fill, cq->p2 & 0xff, MISDN_BCH_FILL_SIZE); in mISDN_ctrl_bchannel() 168 test_and_set_bit(FLG_FILLEMPTY, &bch->Flags); in mISDN_ctrl_bchannel() 170 test_and_clear_bit(FLG_FILLEMPTY, &bch->Flags); in mISDN_ctrl_bchannel() [all …]
|
D | l1oip_core.c | 354 struct bchannel *bch; in l1oip_socket_recv() local 376 bch = hc->chan[channel].bch; in l1oip_socket_recv() 377 if (!dch && !bch) { in l1oip_socket_recv() 405 if (bch) { in l1oip_socket_recv() 435 queue_ch_frame(&bch->ch, PH_DATA_IND, rx_counter, nskb); in l1oip_socket_recv() 1007 struct bchannel *bch; in open_bchannel() local 1015 bch = hc->chan[ch].bch; in open_bchannel() 1016 if (!bch) { in open_bchannel() 1021 if (test_and_set_bit(FLG_OPEN, &bch->Flags)) in open_bchannel() 1023 bch->ch.protocol = rq->protocol; in open_bchannel() [all …]
|
/linux-6.1.9/drivers/mtd/nand/raw/ingenic/ |
D | jz4725b_bch.c | 62 static inline void jz4725b_bch_config_set(struct ingenic_ecc *bch, u32 cfg) in jz4725b_bch_config_set() argument 64 writel(cfg, bch->base + BCH_BHCSR); in jz4725b_bch_config_set() 67 static inline void jz4725b_bch_config_clear(struct ingenic_ecc *bch, u32 cfg) in jz4725b_bch_config_clear() argument 69 writel(cfg, bch->base + BCH_BHCCR); in jz4725b_bch_config_clear() 72 static int jz4725b_bch_reset(struct ingenic_ecc *bch, in jz4725b_bch_reset() argument 78 writel(readl(bch->base + BCH_BHINT), bch->base + BCH_BHINT); in jz4725b_bch_reset() 81 jz4725b_bch_config_clear(bch, 0x1f); in jz4725b_bch_reset() 82 jz4725b_bch_config_set(bch, BCH_BHCR_BCHE); in jz4725b_bch_reset() 85 jz4725b_bch_config_set(bch, BCH_BHCR_BSEL); in jz4725b_bch_reset() 87 jz4725b_bch_config_clear(bch, BCH_BHCR_BSEL); in jz4725b_bch_reset() [all …]
|
D | jz4780_bch.c | 62 static void jz4780_bch_reset(struct ingenic_ecc *bch, in jz4780_bch_reset() argument 68 writel(readl(bch->base + BCH_BHINT), bch->base + BCH_BHINT); in jz4780_bch_reset() 73 writel(reg, bch->base + BCH_BHCNT); in jz4780_bch_reset() 80 writel(reg, bch->base + BCH_BHCR); in jz4780_bch_reset() 83 static void jz4780_bch_disable(struct ingenic_ecc *bch) in jz4780_bch_disable() argument 85 writel(readl(bch->base + BCH_BHINT), bch->base + BCH_BHINT); in jz4780_bch_disable() 86 writel(BCH_BHCR_BCHE, bch->base + BCH_BHCCR); in jz4780_bch_disable() 89 static void jz4780_bch_write_data(struct ingenic_ecc *bch, const void *buf, in jz4780_bch_write_data() argument 99 writel(*src32++, bch->base + BCH_BHDR); in jz4780_bch_write_data() 103 writeb(*src8++, bch->base + BCH_BHDR); in jz4780_bch_write_data() [all …]
|
D | Kconfig | 33 will be called jz4725b-bch. 43 will be called jz4780-bch.
|
/linux-6.1.9/drivers/isdn/hardware/mISDN/ |
D | avmfritz.c | 130 struct bchannel bch[2]; member 141 card->bch[0].debug = debug; in _set_debug() 142 card->bch[1].debug = debug; in _set_debug() 250 if (test_bit(FLG_ACTIVE, &fc->bch[0].Flags) && in Sel_BCS() 251 (fc->bch[0].nr & channel)) in Sel_BCS() 252 return &fc->bch[0]; in Sel_BCS() 253 else if (test_bit(FLG_ACTIVE, &fc->bch[1].Flags) && in Sel_BCS() 254 (fc->bch[1].nr & channel)) in Sel_BCS() 255 return &fc->bch[1]; in Sel_BCS() 275 write_ctrl(struct bchannel *bch, int which) { in write_ctrl() argument [all …]
|
D | mISDNisar.c | 68 if (isar->ch[0].bch.debug & DEBUG_HW_BFIFO) { in send_mbox() 97 if (isar->ch[0].bch.debug & DEBUG_HW_BFIFO) { in rcv_mbox() 174 u32 saved_debug = isar->ch[0].bch.debug; in load_firmware() 193 isar->ch[0].bch.debug &= ~DEBUG_HW_BFIFO; in load_firmware() 280 isar->ch[0].bch.debug = saved_debug; in load_firmware() 392 isar->ch[0].bch.debug = saved_debug; in load_firmware() 404 _queue_data(&ch->bch.ch, PH_CONTROL_IND, status, 0, NULL, GFP_ATOMIC); in deliver_status() 418 if (test_bit(FLG_RX_OFF, &ch->bch.Flags)) { in isar_rcv_frame() 419 ch->bch.dropcnt += ch->is->clsb; in isar_rcv_frame() 423 switch (ch->bch.state) { in isar_rcv_frame() [all …]
|
D | netjet.c | 42 struct bchannel bch; member 96 card->bc[0].bch.debug = debug; in _set_debug() 97 card->bc[1].bch.debug = debug; in _set_debug() 177 struct tiger_hw *card = bc->bch.hw; in fill_mem() 181 bc->bch.nr, fill, cnt, idx, card->send.idx); in fill_mem() 182 if (bc->bch.nr & 2) { in fill_mem() 200 struct tiger_hw *card = bc->bch.hw; in mode_tiger() 203 bc->bch.nr, bc->bch.state, protocol); in mode_tiger() 206 if (bc->bch.state == ISDN_P_NONE) in mode_tiger() 209 bc->bch.state = protocol; in mode_tiger() [all …]
|
D | w6692.c | 45 struct bchannel bch; member 83 card->bc[0].bch.debug = debug; in _set_debug() 84 card->bc[1].bch.debug = debug; in _set_debug() 447 struct w6692_hw *card = wch->bch.hw; in W6692_empty_Bfifo() 452 if (unlikely(wch->bch.state == ISDN_P_NONE)) { in W6692_empty_Bfifo() 455 if (wch->bch.rx_skb) in W6692_empty_Bfifo() 456 skb_trim(wch->bch.rx_skb, 0); in W6692_empty_Bfifo() 459 if (test_bit(FLG_RX_OFF, &wch->bch.Flags)) { in W6692_empty_Bfifo() 460 wch->bch.dropcnt += count; in W6692_empty_Bfifo() 464 maxlen = bchannel_get_rxbuf(&wch->bch, count); in W6692_empty_Bfifo() [all …]
|
D | hfcpci.c | 134 struct bchannel bch[2]; member 309 if (test_bit(FLG_ACTIVE, &hc->bch[0].Flags) && in Sel_BCS() 310 (hc->bch[0].nr & channel)) in Sel_BCS() 311 return &hc->bch[0]; in Sel_BCS() 312 else if (test_bit(FLG_ACTIVE, &hc->bch[1].Flags) && in Sel_BCS() 313 (hc->bch[1].nr & channel)) in Sel_BCS() 314 return &hc->bch[1]; in Sel_BCS() 367 if (hc->bch[fifo].debug & DEBUG_HW_BCHANNEL) in hfcpci_clear_fifo_tx() 381 if (hc->bch[fifo].debug & DEBUG_HW_BCHANNEL) in hfcpci_clear_fifo_tx() 393 hfcpci_empty_bfifo(struct bchannel *bch, struct bzfifo *bz, in hfcpci_empty_bfifo() argument [all …]
|
D | mISDNipac.c | 885 pr_debug("%s: B%1d CEC %d us\n", hx->ip->name, hx->bch.nr, in waitforCEC() 888 pr_info("%s: B%1d CEC timeout\n", hx->ip->name, hx->bch.nr); in waitforCEC() 905 pr_debug("%s: B%1d XFW %d us\n", hx->ip->name, hx->bch.nr, in waitforXFW() 908 pr_info("%s: B%1d XFW timeout\n", hx->ip->name, hx->bch.nr); in waitforXFW() 928 pr_debug("%s: B%1d %d\n", hscx->ip->name, hscx->bch.nr, count); in hscx_empty_fifo() 929 if (test_bit(FLG_RX_OFF, &hscx->bch.Flags)) { in hscx_empty_fifo() 930 hscx->bch.dropcnt += count; in hscx_empty_fifo() 934 maxlen = bchannel_get_rxbuf(&hscx->bch, count); in hscx_empty_fifo() 937 if (hscx->bch.rx_skb) in hscx_empty_fifo() 938 skb_trim(hscx->bch.rx_skb, 0); in hscx_empty_fifo() [all …]
|
D | hfcsusb.c | 47 static int hfcsusb_setup_bch(struct bchannel *bch, int protocol); 48 static void deactivate_bchannel(struct bchannel *bch); 198 struct bchannel *bch = container_of(ch, struct bchannel, ch); in hfcusb_l2l1B() local 199 struct hfcsusb *hw = bch->hw; in hfcusb_l2l1B() 210 ret = bchannel_senddata(bch, skb); in hfcusb_l2l1B() 219 if (!test_and_set_bit(FLG_ACTIVE, &bch->Flags)) { in hfcusb_l2l1B() 220 hfcsusb_start_endpoint(hw, bch->nr - 1); in hfcusb_l2l1B() 221 ret = hfcsusb_setup_bch(bch, ch->protocol); in hfcusb_l2l1B() 229 deactivate_bchannel(bch); in hfcusb_l2l1B() 251 phi = kzalloc(struct_size(phi, bch, dch->dev.nrbchan), GFP_ATOMIC); in hfcsusb_ph_info() [all …]
|
D | hfcmulti.c | 844 struct bchannel *bch = hc->chan[ch].bch; in vpm_echocan_on() local 852 if (!bch) in vpm_echocan_on() 859 recv_Bchannel_skb(bch, skb); in vpm_echocan_on() 876 struct bchannel *bch = hc->chan[ch].bch; in vpm_echocan_off() local 885 if (!bch) in vpm_echocan_off() 892 recv_Bchannel_skb(bch, skb); in vpm_echocan_off() 1830 struct bchannel *bch = NULL; in hfcmulti_dtmf() local 1842 bch = hc->chan[ch].bch; in hfcmulti_dtmf() 1843 if (!bch) in hfcmulti_dtmf() 1847 if (!test_bit(FLG_TRANSPARENT, &bch->Flags)) in hfcmulti_dtmf() [all …]
|
D | hfcsusb.h | 265 struct bchannel *bch; /* link to hfcsusb_t->bch */ member 274 struct bchannel bch[2]; member
|
/linux-6.1.9/Documentation/devicetree/bindings/mtd/ |
D | gpmi-nand.yaml | 36 - description: Address and length of bch block. 41 - const: bch 47 const: bch 127 - description: SoC gpmi bch clock 128 - description: SoC gpmi bch apb clock 129 - description: SoC per1 bch clock 148 - description: SoC gpmi bch apb clock 161 reg-names = "gpmi-nand", "bch"; 163 interrupt-names = "bch";
|
D | nvidia-tegra20-nand.txt | 28 Supported values with "hw" ECC mode are: "rs", "bch". 60 nand-ecc-algo = "bch";
|
/linux-6.1.9/include/linux/ |
D | bch.h | 61 void bch_free(struct bch_control *bch); 63 void bch_encode(struct bch_control *bch, const uint8_t *data, 66 int bch_decode(struct bch_control *bch, const uint8_t *data, unsigned int len,
|
/linux-6.1.9/drivers/mtd/nand/ |
D | ecc-sw-bch.c | 30 bch_encode(engine_conf->bch, buf, nand->ecc.ctx.conf.step_size, code); in nand_ecc_sw_bch_calculate() 57 count = bch_decode(engine_conf->bch, NULL, step_size, read_ecc, in nand_ecc_sw_bch_correct() 86 bch_free(engine_conf->bch); in nand_ecc_sw_bch_cleanup() 120 engine_conf->bch = bch_init(m, t, 0, false); in nand_ecc_sw_bch_init() 121 if (!engine_conf->bch) in nand_ecc_sw_bch_init() 140 bch_encode(engine_conf->bch, erased_page, eccsize, in nand_ecc_sw_bch_init() 148 if (engine_conf->bch->ecc_bytes != eccbytes) { in nand_ecc_sw_bch_init() 150 eccbytes, engine_conf->bch->ecc_bytes); in nand_ecc_sw_bch_init()
|
D | Makefile | 13 nandcore-$(CONFIG_MTD_NAND_ECC_SW_BCH) += ecc-sw-bch.o
|
/linux-6.1.9/arch/arm/boot/dts/ |
D | bcm5301x-nand-cs0-bch4.dtsi | 9 nand-ecc-algo = "bch";
|
D | bcm5301x-nand-cs0-bch1.dtsi | 11 nand-ecc-algo = "bch";
|
D | bcm5301x-nand-cs0-bch8.dtsi | 14 nand-ecc-algo = "bch";
|
/linux-6.1.9/include/linux/mtd/ |
D | nand-ecc-sw-bch.h | 30 struct bch_control *bch; member
|
/linux-6.1.9/drivers/mtd/nand/raw/gpmi-nand/ |
D | gpmi-nand.c | 1042 if (this->bch) in gpmi_raw_len_to_len() 1537 this->bch = true; in gpmi_ecc_read_page() 1651 this->bch = true; in gpmi_ecc_read_subpage() 1675 this->bch = true; in gpmi_ecc_write_page() 2415 if (this->bch) { in gpmi_chain_data_read() 2430 if (!this->bch) in gpmi_chain_data_read() 2461 if (this->bch) { in gpmi_chain_data_write() 2473 (this->bch ? MXS_DMA_CTRL_WAIT4END : 0)); in gpmi_chain_data_write() 2477 if (!this->bch) in gpmi_chain_data_write() 2589 if (this->bch) { in gpmi_nfc_exec_op() [all …]
|