| công cụ tìm kiếm bảng dữ liệu linh kiện điện tử |
|
UM0851 bảng dữ liệu(PDF) 116 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
UM0851 bảng dữ liệu(HTML) 116 Page - STMicroelectronics |
|
116 / 245 page ![]() Communication device drivers UM0851 116/245 Doc ID 16604 Rev 2 Once the net_device structure has been initialized, the registration process is completed by passing the structure to register_hdlcdev(). Open HDLC channels channel_open() is called if the application opens the HDLC channel. It resets the DMA buffer ring and starts the DMA engine to begin receiving HDLC frames. Then it calls net_start_queue() to enable transmitting packages. Finally it calls hdlc_open() to let Generic HDLC Layer finish the device opening. int channel_open(net_device *dev) { struct channel_t *ch = dev_to_hdlc(dev)->priv; reset_ring(ch); /* start DMA */ ...... net_start_queue(dev); return hdlc_open(dev); } Close HDLC channels channel_close() is called if the application closes the HDLC channel. It first calls net_stop_queue() to stop the transmit queue. Then, it writes the STOP command to the DMA engine and waits for it to be stopped. Finally it calls hdlc_close() to let the generic HDLC layer finish the device closing. int channel_close(net_device *dev) { struct channel_t *ch = dev_to_hdlc(dev)->priv; net_stop_queue(dev); /* stop DMA */ ...... /* wait DMA stopped */ ...... return hdlc_close(dev); } Xmit over HDLC channels channel_xmit() is called when there is data ready to be sent out. It will append the buffer to the transmit buffer ring. And if Tx DMA is not running, it will start Tx DMA to transmit the package. This function is non-blocked. It doesn't wait the transmitting to be completed. Transmitting status is checked in bottom half of Tx interrupt handler. int channel_xmit(struct sk_buff *skb, struct net_device *dev) { struct channel_t *ch = dev_to_hdlc(dev)->priv; if (Tx buffer ring full) return -EBUSY; |
|
Link URL |
| Cho đến nay ALLDATASHEET có giúp ích cho doanh nghiệp của bạn hay không? [ DONATE ] |
Alldatasheet là | Quảng cáo | Liên lạc với chúng tôi | Chính sách bảo mật | Liên kết đến bảng dữ liệu | Trao đổi link | Tìm kiếm theo nhà sản xuất All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |