/drivers/net/wireless/ath/carl9170/ |
D | usb.c | 131 static void carl9170_usb_submit_data_urb(struct ar9170 *ar) in carl9170_usb_submit_data_urb() argument 136 if (atomic_inc_return(&ar->tx_anch_urbs) > AR9170_NUM_TX_URBS) in carl9170_usb_submit_data_urb() 139 urb = usb_get_from_anchor(&ar->tx_wait); in carl9170_usb_submit_data_urb() 143 usb_anchor_urb(urb, &ar->tx_anch); in carl9170_usb_submit_data_urb() 148 dev_err(&ar->udev->dev, "tx submit failed (%d)\n", in carl9170_usb_submit_data_urb() 153 usb_anchor_urb(urb, &ar->tx_err); in carl9170_usb_submit_data_urb() 162 atomic_dec(&ar->tx_anch_urbs); in carl9170_usb_submit_data_urb() 167 struct ar9170 *ar = usb_get_intfdata(usb_ifnum_to_if(urb->dev, 0)); in carl9170_usb_tx_data_complete() local 169 if (WARN_ON_ONCE(!ar)) { in carl9170_usb_tx_data_complete() 174 atomic_dec(&ar->tx_anch_urbs); in carl9170_usb_tx_data_complete() [all …]
|
D | main.c | 185 static void carl9170_ampdu_gc(struct ar9170 *ar) in carl9170_ampdu_gc() argument 191 list_for_each_entry_rcu(tid_info, &ar->tx_ampdu_list, list) { in carl9170_ampdu_gc() 192 spin_lock_bh(&ar->tx_ampdu_list_lock); in carl9170_ampdu_gc() 196 ar->tx_ampdu_list_len--; in carl9170_ampdu_gc() 199 spin_unlock_bh(&ar->tx_ampdu_list_lock); in carl9170_ampdu_gc() 202 rcu_assign_pointer(ar->tx_ampdu_iter, tid_info); in carl9170_ampdu_gc() 213 carl9170_tx_status(ar, skb, false); in carl9170_ampdu_gc() 220 static void carl9170_flush(struct ar9170 *ar, bool drop_queued) in carl9170_flush() argument 230 for (i = 0; i < ar->hw->queues; i++) { in carl9170_flush() 233 while ((skb = skb_dequeue(&ar->tx_pending[i]))) { in carl9170_flush() [all …]
|
D | rx.c | 50 static void carl9170_dbg_message(struct ar9170 *ar, const char *buf, u32 len) in carl9170_dbg_message() argument 57 ar->fw.err_counter++; in carl9170_dbg_message() 58 if (ar->fw.err_counter > 3) { in carl9170_dbg_message() 65 ar->fw.bug_counter++; in carl9170_dbg_message() 71 wiphy_info(ar->hw->wiphy, "FW: %.*s\n", len, buf); in carl9170_dbg_message() 74 carl9170_restart(ar, reason); in carl9170_dbg_message() 77 static void carl9170_handle_ps(struct ar9170 *ar, struct carl9170_rsp *rsp) in carl9170_handle_ps() argument 85 if (ar->ps.state != new_ps) { in carl9170_handle_ps() 87 ar->ps.sleep_ms = jiffies_to_msecs(jiffies - in carl9170_handle_ps() 88 ar->ps.last_action); in carl9170_handle_ps() [all …]
|
D | fw.c | 38 static const void *carl9170_fw_find_desc(struct ar9170 *ar, const u8 descid[4], in carl9170_fw_find_desc() argument 43 carl9170fw_for_each_hdr(iter, ar->fw.desc) { in carl9170_fw_find_desc() 57 static int carl9170_fw_verify_descs(struct ar9170 *ar, in carl9170_fw_verify_descs() argument 100 static void carl9170_fw_info(struct ar9170 *ar) in carl9170_fw_info() argument 106 dev_info(&ar->udev->dev, "driver API: %s 2%03d-%02d-%02d [%d-%d]\n", in carl9170_fw_info() 111 motd_desc = carl9170_fw_find_desc(ar, MOTD_MAGIC, in carl9170_fw_info() 120 dev_info(&ar->udev->dev, "firmware API: %.*s 2%03d-%02d-%02d\n", in carl9170_fw_info() 126 strlcpy(ar->hw->wiphy->fw_version, motd_desc->release, in carl9170_fw_info() 127 sizeof(ar->hw->wiphy->fw_version)); in carl9170_fw_info() 149 static int carl9170_fw_checksum(struct ar9170 *ar, const __u8 *data, in carl9170_fw_checksum() argument [all …]
|
D | led.c | 43 int carl9170_led_set_state(struct ar9170 *ar, const u32 led_state) in carl9170_led_set_state() argument 45 return carl9170_write_reg(ar, AR9170_GPIO_REG_PORT_DATA, led_state); in carl9170_led_set_state() 48 int carl9170_led_init(struct ar9170 *ar) in carl9170_led_init() argument 54 err = carl9170_write_reg(ar, AR9170_GPIO_REG_PORT_TYPE, 3); in carl9170_led_init() 59 err = carl9170_led_set_state(ar, 0); in carl9170_led_init() 68 struct ar9170 *ar = container_of(work, struct ar9170, led_work.work); in carl9170_led_update() local 73 if (!IS_ACCEPTING_CMD(ar)) in carl9170_led_update() 76 mutex_lock(&ar->mutex); in carl9170_led_update() 78 if (ar->leds[i].registered) { in carl9170_led_update() 79 if (ar->leds[i].last_state || in carl9170_led_update() [all …]
|
D | debug.c | 55 char *(*read)(struct ar9170 *ar, char *buf, size_t bufsize, 67 struct ar9170 *ar; in carl9170_debugfs_read() local 75 ar = file->private_data; in carl9170_debugfs_read() 77 if (!ar) in carl9170_debugfs_read() 90 mutex_lock(&ar->mutex); in carl9170_debugfs_read() 91 if (!CHK_DEV_STATE(ar, dfops->req_dev_state)) { in carl9170_debugfs_read() 97 res_buf = dfops->read(ar, buf, dfops->read_bufsize, &ret); in carl9170_debugfs_read() 109 mutex_unlock(&ar->mutex); in carl9170_debugfs_read() 117 struct ar9170 *ar; in carl9170_debugfs_write() local 127 ar = file->private_data; in carl9170_debugfs_write() [all …]
|
D | mac.c | 44 int carl9170_set_dyn_sifs_ack(struct ar9170 *ar) in carl9170_set_dyn_sifs_ack() argument 48 if (conf_is_ht40(&ar->hw->conf)) in carl9170_set_dyn_sifs_ack() 51 if (ar->hw->conf.channel->band == IEEE80211_BAND_2GHZ) in carl9170_set_dyn_sifs_ack() 57 return carl9170_write_reg(ar, AR9170_MAC_REG_DYNAMIC_SIFS_ACK, val); in carl9170_set_dyn_sifs_ack() 60 int carl9170_set_rts_cts_rate(struct ar9170 *ar) in carl9170_set_rts_cts_rate() argument 64 if (conf_is_ht(&ar->hw->conf)) { in carl9170_set_rts_cts_rate() 69 if (ar->hw->conf.channel->band == IEEE80211_BAND_2GHZ) { in carl9170_set_rts_cts_rate() 80 return carl9170_write_reg(ar, AR9170_MAC_REG_RTS_CTS_RATE, in carl9170_set_rts_cts_rate() 84 int carl9170_set_slot_time(struct ar9170 *ar) in carl9170_set_slot_time() argument 90 vif = carl9170_get_main_vif(ar); in carl9170_set_slot_time() [all …]
|
D | tx.c | 49 static inline unsigned int __carl9170_get_queue(struct ar9170 *ar, in __carl9170_get_queue() argument 65 static inline unsigned int carl9170_get_queue(struct ar9170 *ar, in carl9170_get_queue() argument 68 return __carl9170_get_queue(ar, skb_get_queue_mapping(skb)); in carl9170_get_queue() 71 static bool is_mem_full(struct ar9170 *ar) in is_mem_full() argument 73 return (DIV_ROUND_UP(IEEE80211_MAX_FRAME_LEN, ar->fw.mem_block_size) > in is_mem_full() 74 atomic_read(&ar->mem_free_blocks)); in is_mem_full() 77 static void carl9170_tx_accounting(struct ar9170 *ar, struct sk_buff *skb) in carl9170_tx_accounting() argument 82 atomic_inc(&ar->tx_total_queued); in carl9170_tx_accounting() 85 spin_lock_bh(&ar->tx_stats_lock); in carl9170_tx_accounting() 93 ar->tx_stats[queue].len++; in carl9170_tx_accounting() [all …]
|
D | phy.c | 44 static int carl9170_init_power_cal(struct ar9170 *ar) in carl9170_init_power_cal() argument 46 carl9170_regwrite_begin(ar); in carl9170_init_power_cal() 432 static int carl9170_init_phy_from_eeprom(struct ar9170 *ar, in carl9170_init_phy_from_eeprom() argument 440 struct ar9170_eeprom_modal *m = &ar->eeprom.modal_header[is_2ghz]; in carl9170_init_phy_from_eeprom() 443 carl9170_regwrite_begin(ar); in carl9170_init_phy_from_eeprom() 536 carl9170_regwrite(AR9170_PHY_REG_RX_CHAINMASK, ar->eeprom.rx_mask); in carl9170_init_phy_from_eeprom() 537 carl9170_regwrite(AR9170_PHY_REG_CAL_CHAINMASK, ar->eeprom.rx_mask); in carl9170_init_phy_from_eeprom() 543 static int carl9170_init_phy(struct ar9170 *ar, enum ieee80211_band band) in carl9170_init_phy() argument 548 bool is_40mhz = conf_is_ht40(&ar->hw->conf); in carl9170_init_phy() 550 carl9170_regwrite_begin(ar); in carl9170_init_phy() [all …]
|
D | cmd.c | 43 int carl9170_write_reg(struct ar9170 *ar, const u32 reg, const u32 val) in carl9170_write_reg() argument 51 err = carl9170_exec_cmd(ar, CARL9170_CMD_WREG, sizeof(buf), in carl9170_write_reg() 55 wiphy_err(ar->hw->wiphy, "writing reg %#x " in carl9170_write_reg() 62 int carl9170_read_mreg(struct ar9170 *ar, const int nregs, in carl9170_read_mreg() argument 76 err = carl9170_exec_cmd(ar, CARL9170_CMD_RREG, in carl9170_read_mreg() 81 wiphy_err(ar->hw->wiphy, "reading regs failed (%d)\n", in carl9170_read_mreg() 94 int carl9170_read_reg(struct ar9170 *ar, u32 reg, u32 *val) in carl9170_read_reg() argument 96 return carl9170_read_mreg(ar, 1, ®, val); in carl9170_read_reg() 99 int carl9170_echo_test(struct ar9170 *ar, const u32 v) in carl9170_echo_test() argument 104 err = carl9170_exec_cmd(ar, CARL9170_CMD_ECHO, in carl9170_echo_test() [all …]
|
D | carl9170.h | 207 struct ar9170 *ar; member 489 struct ar9170 *ar; member 498 static inline void __carl9170_set_state(struct ar9170 *ar, in __carl9170_set_state() argument 501 ar->state = newstate; in __carl9170_set_state() 504 static inline void carl9170_set_state(struct ar9170 *ar, in carl9170_set_state() argument 509 spin_lock_irqsave(&ar->state_lock, flags); in carl9170_set_state() 510 __carl9170_set_state(ar, newstate); in carl9170_set_state() 511 spin_unlock_irqrestore(&ar->state_lock, flags); in carl9170_set_state() 514 static inline void carl9170_set_state_when(struct ar9170 *ar, in carl9170_set_state_when() argument 519 spin_lock_irqsave(&ar->state_lock, flags); in carl9170_set_state_when() [all …]
|
D | cmd.h | 45 int carl9170_write_reg(struct ar9170 *ar, const u32 reg, const u32 val); 46 int carl9170_read_reg(struct ar9170 *ar, const u32 reg, u32 *val); 47 int carl9170_read_mreg(struct ar9170 *ar, const int nregs, 49 int carl9170_echo_test(struct ar9170 *ar, u32 v); 50 int carl9170_reboot(struct ar9170 *ar); 51 int carl9170_mac_reset(struct ar9170 *ar); 52 int carl9170_powersave(struct ar9170 *ar, const bool power_on); 53 int carl9170_collect_tally(struct ar9170 *ar); 54 int carl9170_bcn_ctrl(struct ar9170 *ar, const unsigned int vif_id, 57 static inline int carl9170_flush_cab(struct ar9170 *ar, in carl9170_flush_cab() argument [all …]
|
/drivers/net/wireless/ath/ath6kl/ |
D | core.c | 42 int ath6kl_core_init(struct ath6kl *ar) in ath6kl_core_init() argument 48 ar->ath6kl_wq = create_singlethread_workqueue("ath6kl"); in ath6kl_core_init() 49 if (!ar->ath6kl_wq) in ath6kl_core_init() 52 ret = ath6kl_bmi_init(ar); in ath6kl_core_init() 61 ret = ath6kl_hif_power_on(ar); in ath6kl_core_init() 65 ret = ath6kl_bmi_get_target_info(ar, &targ_info); in ath6kl_core_init() 69 ar->version.target_ver = le32_to_cpu(targ_info.version); in ath6kl_core_init() 70 ar->target_type = le32_to_cpu(targ_info.type); in ath6kl_core_init() 71 ar->wiphy->hw_version = le32_to_cpu(targ_info.version); in ath6kl_core_init() 73 ret = ath6kl_init_hw_params(ar); in ath6kl_core_init() [all …]
|
D | init.c | 179 static int ath6kl_set_host_app_area(struct ath6kl *ar) in ath6kl_set_host_app_area() argument 186 address = ath6kl_get_hi_item_addr(ar, HI_ITEM(hi_app_host_interest)); in ath6kl_set_host_app_area() 187 address = TARG_VTOP(ar->target_type, address); in ath6kl_set_host_app_area() 189 if (ath6kl_diag_read32(ar, address, &data)) in ath6kl_set_host_app_area() 192 address = TARG_VTOP(ar->target_type, data); in ath6kl_set_host_app_area() 194 if (ath6kl_diag_write(ar, address, (u8 *) &host_app_area, in ath6kl_set_host_app_area() 201 static inline void set_ac2_ep_map(struct ath6kl *ar, in set_ac2_ep_map() argument 205 ar->ac2ep_map[ac] = ep; in set_ac2_ep_map() 206 ar->ep2ac_map[ep] = ac; in set_ac2_ep_map() 210 static int ath6kl_connectservice(struct ath6kl *ar, in ath6kl_connectservice() argument [all …]
|
D | hif-ops.h | 24 static inline int hif_read_write_sync(struct ath6kl *ar, u32 addr, u8 *buf, in hif_read_write_sync() argument 32 return ar->hif_ops->read_write_sync(ar, addr, buf, len, request); in hif_read_write_sync() 35 static inline int hif_write_async(struct ath6kl *ar, u32 address, u8 *buffer, in hif_write_async() argument 43 return ar->hif_ops->write_async(ar, address, buffer, length, in hif_write_async() 46 static inline void ath6kl_hif_irq_enable(struct ath6kl *ar) in ath6kl_hif_irq_enable() argument 50 return ar->hif_ops->irq_enable(ar); in ath6kl_hif_irq_enable() 53 static inline void ath6kl_hif_irq_disable(struct ath6kl *ar) in ath6kl_hif_irq_disable() argument 57 return ar->hif_ops->irq_disable(ar); in ath6kl_hif_irq_disable() 60 static inline struct hif_scatter_req *hif_scatter_req_get(struct ath6kl *ar) in hif_scatter_req_get() argument 62 return ar->hif_ops->scatter_req_get(ar); in hif_scatter_req_get() [all …]
|
D | bmi.c | 23 int ath6kl_bmi_done(struct ath6kl *ar) in ath6kl_bmi_done() argument 28 if (ar->bmi.done_sent) { in ath6kl_bmi_done() 33 ar->bmi.done_sent = true; in ath6kl_bmi_done() 35 ret = ath6kl_hif_bmi_write(ar, (u8 *)&cid, sizeof(cid)); in ath6kl_bmi_done() 44 int ath6kl_bmi_get_target_info(struct ath6kl *ar, in ath6kl_bmi_get_target_info() argument 50 if (ar->bmi.done_sent) { in ath6kl_bmi_get_target_info() 55 ret = ath6kl_hif_bmi_write(ar, (u8 *)&cid, sizeof(cid)); in ath6kl_bmi_get_target_info() 61 if (ar->hif_type == ATH6KL_HIF_TYPE_USB) { in ath6kl_bmi_get_target_info() 62 ret = ath6kl_hif_bmi_read(ar, (u8 *)targ_info, in ath6kl_bmi_get_target_info() 65 ret = ath6kl_hif_bmi_read(ar, (u8 *)&targ_info->version, in ath6kl_bmi_get_target_info() [all …]
|
D | main.c | 26 struct ath6kl *ar = vif->ar; in ath6kl_find_sta() local 33 if (memcmp(node_addr, ar->sta_list[i].mac, ETH_ALEN) == 0) { in ath6kl_find_sta() 34 conn = &ar->sta_list[i]; in ath6kl_find_sta() 42 struct ath6kl_sta *ath6kl_find_sta_by_aid(struct ath6kl *ar, u8 aid) in ath6kl_find_sta_by_aid() argument 48 if (ar->sta_list[ctr].aid == aid) { in ath6kl_find_sta_by_aid() 49 conn = &ar->sta_list[ctr]; in ath6kl_find_sta_by_aid() 60 struct ath6kl *ar = vif->ar; in ath6kl_add_new_sta() local 66 sta = &ar->sta_list[free_slot]; in ath6kl_add_new_sta() 76 ar->sta_list_index = ar->sta_list_index | (1 << free_slot); in ath6kl_add_new_sta() 77 ar->ap_stats.sta[free_slot].aid = cpu_to_le32(aid); in ath6kl_add_new_sta() [all …]
|
D | txrx.c | 41 struct ath6kl *ar = ath6kl_priv(dev); in ath6kl_ibss_map_epid() local 53 for (i = 0; i < ar->node_num; i++) { in ath6kl_ibss_map_epid() 54 if (memcmp(eth_hdr->h_dest, ar->node_map[i].mac_addr, in ath6kl_ibss_map_epid() 57 ar->node_map[i].tx_pend++; in ath6kl_ibss_map_epid() 58 return ar->node_map[i].ep_id; in ath6kl_ibss_map_epid() 61 if ((ep_map == -1) && !ar->node_map[i].tx_pend) in ath6kl_ibss_map_epid() 66 ep_map = ar->node_num; in ath6kl_ibss_map_epid() 67 ar->node_num++; in ath6kl_ibss_map_epid() 68 if (ar->node_num > MAX_NODE_NUM) in ath6kl_ibss_map_epid() 72 memcpy(ar->node_map[ep_map].mac_addr, eth_hdr->h_dest, ETH_ALEN); in ath6kl_ibss_map_epid() [all …]
|
D | cfg80211.c | 138 struct ath6kl *ar = vif->ar; in __ath6kl_cfg80211_sscan_stop() local 140 if (ar->state != ATH6KL_STATE_SCHED_SCAN) in __ath6kl_cfg80211_sscan_stop() 145 ath6kl_wmi_set_host_sleep_mode_cmd(ar->wmi, vif->fw_vif_idx, in __ath6kl_cfg80211_sscan_stop() 148 ar->state = ATH6KL_STATE_ON; in __ath6kl_cfg80211_sscan_stop() 155 struct ath6kl *ar = vif->ar; in ath6kl_cfg80211_sscan_disable() local 163 cfg80211_sched_scan_stopped(ar->wiphy); in ath6kl_cfg80211_sscan_disable() 277 struct ath6kl *ar = vif->ar; in ath6kl_cfg80211_ready() local 279 if (!test_bit(WMI_READY, &ar->flag)) { in ath6kl_cfg80211_ready() 315 struct ath6kl *ar = vif->ar; in ath6kl_set_assoc_req_ies() local 325 ar->connect_ctrl_flags &= ~CONNECT_WPS_FLAG; in ath6kl_set_assoc_req_ies() [all …]
|
D | debug.c | 146 if (dev->ar->mbox_info.gmbox_addr != 0) { in ath6kl_dump_registers() 220 void ath6kl_debug_war(struct ath6kl *ar, enum ath6kl_war war) in ath6kl_debug_war() argument 224 ar->debug.war_stats.invalid_rate++; in ath6kl_debug_war() 232 struct ath6kl *ar = file->private_data; in read_file_war_stats() local 247 "Invalid rates", ar->debug.war_stats.invalid_rate); in read_file_war_stats() 265 void ath6kl_debug_fwlog_event(struct ath6kl *ar, const void *buf, size_t len) in ath6kl_debug_fwlog_event() argument 288 spin_lock(&ar->debug.fwlog_queue.lock); in ath6kl_debug_fwlog_event() 290 __skb_queue_tail(&ar->debug.fwlog_queue, skb); in ath6kl_debug_fwlog_event() 291 complete(&ar->debug.fwlog_completion); in ath6kl_debug_fwlog_event() 294 while (skb_queue_len(&ar->debug.fwlog_queue) > in ath6kl_debug_fwlog_event() [all …]
|
D | sdio.c | 44 struct ath6kl *ar; member 77 static inline struct ath6kl_sdio *ath6kl_sdio_priv(struct ath6kl *ar) in ath6kl_sdio_priv() argument 79 return ar->hif_priv; in ath6kl_sdio_priv() 93 static void ath6kl_sdio_set_mbox_info(struct ath6kl *ar) in ath6kl_sdio_set_mbox_info() argument 95 struct ath6kl_mbox_info *mbox_info = &ar->mbox_info; in ath6kl_sdio_set_mbox_info() 327 scat_req->complete(ar_sdio->ar->htc_target, scat_req); in ath6kl_sdio_scat_rw() 391 hif_scatter_req_add(ar_sdio->ar, s_req); in ath6kl_sdio_alloc_prep_scat_req() 397 static int ath6kl_sdio_read_write_sync(struct ath6kl *ar, u32 addr, u8 *buf, in ath6kl_sdio_read_write_sync() argument 400 struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar); in ath6kl_sdio_read_write_sync() 440 status = ath6kl_sdio_read_write_sync(ar_sdio->ar, req->address, in __ath6kl_sdio_write_async() [all …]
|
D | bmi.h | 226 #define ath6kl_bmi_write_hi32(ar, item, val) \ argument 231 addr = ath6kl_get_hi_item_addr(ar, HI_ITEM(item)); \ 233 ath6kl_bmi_write(ar, addr, (u8 *) &v, sizeof(v)); \ 236 #define ath6kl_bmi_read_hi32(ar, item, val) \ argument 243 addr = ath6kl_get_hi_item_addr(ar, HI_ITEM(item)); \ 244 ret = ath6kl_bmi_read(ar, addr, (u8 *) &tmp, 4); \ 249 int ath6kl_bmi_init(struct ath6kl *ar); 250 void ath6kl_bmi_cleanup(struct ath6kl *ar); 251 void ath6kl_bmi_reset(struct ath6kl *ar); 253 int ath6kl_bmi_done(struct ath6kl *ar); [all …]
|
D | debug.h | 75 void ath6kl_debug_fwlog_event(struct ath6kl *ar, const void *buf, size_t len); 76 void ath6kl_debug_war(struct ath6kl *ar, enum ath6kl_war war); 77 int ath6kl_debug_roam_tbl_event(struct ath6kl *ar, const void *buf, 79 void ath6kl_debug_set_keepalive(struct ath6kl *ar, u8 keepalive); 80 void ath6kl_debug_set_disconnect_timeout(struct ath6kl *ar, u8 timeout); 81 void ath6kl_debug_init(struct ath6kl *ar); 82 int ath6kl_debug_init_fs(struct ath6kl *ar); 83 void ath6kl_debug_cleanup(struct ath6kl *ar); 108 static inline void ath6kl_debug_fwlog_event(struct ath6kl *ar, in ath6kl_debug_fwlog_event() argument 113 static inline void ath6kl_debug_war(struct ath6kl *ar, enum ath6kl_war war) in ath6kl_debug_war() argument [all …]
|
D | hif.h | 231 struct ath6kl *ar; member 235 int (*read_write_sync)(struct ath6kl *ar, u32 addr, u8 *buf, 237 int (*write_async)(struct ath6kl *ar, u32 address, u8 *buffer, 240 void (*irq_enable)(struct ath6kl *ar); 241 void (*irq_disable)(struct ath6kl *ar); 243 struct hif_scatter_req *(*scatter_req_get)(struct ath6kl *ar); 244 void (*scatter_req_add)(struct ath6kl *ar, 246 int (*enable_scatter)(struct ath6kl *ar); 247 int (*scat_req_rw) (struct ath6kl *ar, 249 void (*cleanup_scatter)(struct ath6kl *ar); [all …]
|
/drivers/media/video/ |
D | arv.c | 108 struct ar { struct 124 static struct ar ardev; argument 248 static void wait_for_vertical_sync(struct ar *ar, int exp_line) in wait_for_vertical_sync() argument 263 v4l2_err(&ar->v4l2_dev, "lost %d -> %d\n", exp_line, l); in wait_for_vertical_sync() 272 struct ar *ar = video_drvdata(file); in ar_read() local 273 long ret = ar->frame_bytes; /* return read bytes */ in ar_read() 285 if (ar->size == AR_SIZE_QVGA) in ar_read() 287 if (ar->mode == AR_MODE_NORMAL) in ar_read() 290 mutex_lock(&ar->lock); in ar_read() 301 ar_outl(ar->line_buff, M32R_DMA0CDA_PORTL); /* destination addr. */ in ar_read() [all …]
|