| /drivers/platform/cznic/ |
| A D | turris-omnia-mcu-gpio.c | 698 rising = mcu->rising & mcu->mask; in omnia_irq_bus_sync_unlock() 699 falling = mcu->falling & mcu->mask; in omnia_irq_bus_sync_unlock() 719 mcu->is_cached &= mcu->both; in omnia_irq_bus_sync_unlock() 785 len = omnia_irq_compute_pending_length(mcu->rising & mcu->mask, in omnia_irq_read_pending_new() 786 mcu->falling & mcu->mask); in omnia_irq_read_pending_new() 808 mcu->is_cached |= mcu->both & (rising ^ falling); in omnia_irq_read_pending_new() 809 mcu->cached = (mcu->cached | rising) & ~falling; in omnia_irq_read_pending_new() 921 rising &= mcu->rising & mcu->mask; in omnia_irq_read_pending_old() 922 falling &= mcu->falling & mcu->mask; in omnia_irq_read_pending_old() 1052 err = devm_gpiochip_add_data(dev, &mcu->gc, mcu); in omnia_mcu_register_gpiochip() [all …]
|
| A D | turris-omnia-mcu-keyctl.c | 27 struct omnia_mcu *mcu = dev_id; in omnia_msg_signed_irq_handler() local 35 guard(mutex)(&mcu->sign_lock); in omnia_msg_signed_irq_handler() 37 if (mcu->sign_requested) { in omnia_msg_signed_irq_handler() 38 mcu->sign_err = err; in omnia_msg_signed_irq_handler() 42 mcu->sign_requested = false; in omnia_msg_signed_irq_handler() 43 complete(&mcu->msg_signed); in omnia_msg_signed_irq_handler() 57 if (mcu->sign_requested) in omnia_mcu_sign() 71 mcu->sign_requested = true; in omnia_mcu_sign() 79 if (mcu->sign_err) in omnia_mcu_sign() 80 return mcu->sign_err; in omnia_mcu_sign() [all …]
|
| A D | turris-omnia-mcu-base.c | 64 err = omnia_cmd_read(mcu->client, in omnia_get_version_hash() 283 &mcu->features); in omnia_mcu_read_features() 293 mcu->features = features16; in omnia_mcu_read_features() 296 mcu->features &= GENMASK(15, 0); in omnia_mcu_read_features() 348 memcpy(mcu->board_first_mac, &reply[9], sizeof(mcu->board_first_mac)); in omnia_mcu_read_board_info() 350 mcu->board_revision = reply[15]; in omnia_mcu_read_board_info() 358 struct omnia_mcu *mcu; in omnia_mcu_probe() local 364 mcu = devm_kzalloc(dev, sizeof(*mcu), GFP_KERNEL); in omnia_mcu_probe() 365 if (!mcu) in omnia_mcu_probe() 368 mcu->client = client; in omnia_mcu_probe() [all …]
|
| A D | turris-omnia-mcu-watchdog.c | 93 struct device *dev = &mcu->client->dev; in omnia_mcu_register_watchdog() 97 if (!(mcu->features & OMNIA_FEAT_WDT_PING)) in omnia_mcu_register_watchdog() 100 mcu->wdt.info = &omnia_wdt_info; in omnia_mcu_register_watchdog() 101 mcu->wdt.ops = &omnia_wdt_ops; in omnia_mcu_register_watchdog() 102 mcu->wdt.parent = dev; in omnia_mcu_register_watchdog() 103 mcu->wdt.min_timeout = 1; in omnia_mcu_register_watchdog() 104 mcu->wdt.max_timeout = 65535 / DECI; in omnia_mcu_register_watchdog() 106 mcu->wdt.timeout = WATCHDOG_TIMEOUT; in omnia_mcu_register_watchdog() 109 watchdog_set_drvdata(&mcu->wdt, mcu); in omnia_mcu_register_watchdog() 111 omnia_wdt_set_timeout(&mcu->wdt, mcu->wdt.timeout); in omnia_mcu_register_watchdog() [all …]
|
| A D | turris-omnia-mcu-sys-off-wakeup.c | 88 mcu->rtc_alarm); in omnia_set_alarm() 117 if (mcu->front_button_poweron) in omnia_power_off() 136 dev_err(&mcu->client->dev, in omnia_power_off() 157 dev_err(&mcu->client->dev, in omnia_restart() 189 mcu->front_button_poweron = val; in front_button_poweron_store() 225 omnia_restart, mcu); in omnia_mcu_register_sys_off_and_wakeup() 239 omnia_power_off, mcu); in omnia_mcu_register_sys_off_and_wakeup() 245 if (IS_ERR(mcu->rtcdev)) in omnia_mcu_register_sys_off_and_wakeup() 249 mcu->rtcdev->ops = &omnia_rtc_ops; in omnia_mcu_register_sys_off_and_wakeup() 250 mcu->rtcdev->range_max = U32_MAX; in omnia_mcu_register_sys_off_and_wakeup() [all …]
|
| A D | turris-omnia-mcu-trng.c | 25 struct omnia_mcu *mcu = dev_id; in omnia_trng_irq_handler() local 27 complete(&mcu->trng_entropy_ready); in omnia_trng_irq_handler() 38 if (!wait && !completion_done(&mcu->trng_entropy_ready)) in omnia_trng_read() 45 err = omnia_cmd_read(mcu->client, in omnia_trng_read() 59 int omnia_mcu_register_trng(struct omnia_mcu *mcu) in omnia_mcu_register_trng() argument 61 struct device *dev = &mcu->client->dev; in omnia_mcu_register_trng() 65 if (!(mcu->features & OMNIA_FEAT_TRNG)) in omnia_mcu_register_trng() 79 init_completion(&mcu->trng_entropy_ready); in omnia_mcu_register_trng() 86 mcu->trng.name = "turris-omnia-mcu-trng"; in omnia_mcu_register_trng() 87 mcu->trng.read = omnia_trng_read; in omnia_mcu_register_trng() [all …]
|
| A D | Makefile | 3 obj-$(CONFIG_TURRIS_OMNIA_MCU) += turris-omnia-mcu.o 4 turris-omnia-mcu-y := turris-omnia-mcu-base.o 5 turris-omnia-mcu-$(CONFIG_TURRIS_OMNIA_MCU_GPIO) += turris-omnia-mcu-gpio.o 6 turris-omnia-mcu-$(CONFIG_TURRIS_OMNIA_MCU_KEYCTL) += turris-omnia-mcu-keyctl.o 7 turris-omnia-mcu-$(CONFIG_TURRIS_OMNIA_MCU_SYSOFF_WAKEUP) += turris-omnia-mcu-sys-off-wakeup.o 8 turris-omnia-mcu-$(CONFIG_TURRIS_OMNIA_MCU_TRNG) += turris-omnia-mcu-trng.o 9 turris-omnia-mcu-$(CONFIG_TURRIS_OMNIA_MCU_WATCHDOG) += turris-omnia-mcu-watchdog.o
|
| A D | turris-omnia-mcu.h | 116 int omnia_mcu_register_gpiochip(struct omnia_mcu *mcu); 117 int omnia_mcu_request_irq(struct omnia_mcu *mcu, u32 spec, 120 static inline int omnia_mcu_register_gpiochip(struct omnia_mcu *mcu) in omnia_mcu_register_gpiochip() argument 127 int omnia_mcu_register_keyctl(struct omnia_mcu *mcu); 129 static inline int omnia_mcu_register_keyctl(struct omnia_mcu *mcu) in omnia_mcu_register_keyctl() argument 137 int omnia_mcu_register_sys_off_and_wakeup(struct omnia_mcu *mcu); 139 static inline int omnia_mcu_register_sys_off_and_wakeup(struct omnia_mcu *mcu) in omnia_mcu_register_sys_off_and_wakeup() argument 146 int omnia_mcu_register_trng(struct omnia_mcu *mcu); 148 static inline int omnia_mcu_register_trng(struct omnia_mcu *mcu) in omnia_mcu_register_trng() argument 155 int omnia_mcu_register_watchdog(struct omnia_mcu *mcu); [all …]
|
| /drivers/mfd/ |
| A D | qnap-mcu.c | 159 mutex_lock(&mcu->bus_lock); in qnap_mcu_exec() 177 dev_err(&mcu->serdev->dev, in qnap_mcu_exec() 185 mutex_unlock(&mcu->bus_lock); in qnap_mcu_exec() 267 struct qnap_mcu *mcu; in qnap_mcu_probe() local 270 mcu = devm_kzalloc(dev, sizeof(*mcu), GFP_KERNEL); in qnap_mcu_probe() 271 if (!mcu) in qnap_mcu_probe() 274 mcu->serdev = serdev; in qnap_mcu_probe() 275 dev_set_drvdata(dev, mcu); in qnap_mcu_probe() 278 if (!mcu->variant) in qnap_mcu_probe() 281 mutex_init(&mcu->bus_lock); in qnap_mcu_probe() [all …]
|
| /drivers/hwmon/ |
| A D | sg2042-mcu.c | 222 guard(mutex)(&mcu->mutex); in sg2042_mcu_write() 296 debugfs_create_file("pcb_version", 0444, mcu->client->debugfs, mcu, in sg2042_mcu_debugfs_init() 298 debugfs_create_file("mcu_type", 0444, mcu->client->debugfs, mcu, in sg2042_mcu_debugfs_init() 300 debugfs_create_file("board_type", 0444, mcu->client->debugfs, mcu, in sg2042_mcu_debugfs_init() 307 struct sg2042_mcu_data *mcu; in sg2042_mcu_i2c_probe() local 314 mcu = devm_kmalloc(dev, sizeof(*mcu), GFP_KERNEL); in sg2042_mcu_i2c_probe() 315 if (!mcu) in sg2042_mcu_i2c_probe() 318 mutex_init(&mcu->mutex); in sg2042_mcu_i2c_probe() 319 mcu->client = client; in sg2042_mcu_i2c_probe() 324 mcu, in sg2042_mcu_i2c_probe() [all …]
|
| A D | qnap-mcu-hwmon.c | 17 struct qnap_mcu *mcu; member 39 ret = qnap_mcu_exec(hwm->mcu, cmd, sizeof(cmd), reply, sizeof(reply)); in qnap_mcu_hwmon_get_rpm() 57 ret = qnap_mcu_exec(hwm->mcu, cmd, sizeof(cmd), reply, sizeof(reply)); in qnap_mcu_hwmon_get_pwm() 73 return qnap_mcu_exec_with_ack(hwm->mcu, cmd, sizeof(cmd)); in qnap_mcu_hwmon_set_pwm() 83 ret = qnap_mcu_exec(hwm->mcu, cmd, sizeof(cmd), reply, sizeof(reply)); in qnap_mcu_hwmon_get_temp() 294 struct qnap_mcu *mcu = dev_get_drvdata(pdev->dev.parent); in qnap_mcu_hwmon_probe() local 306 hwm->mcu = mcu; in qnap_mcu_hwmon_probe()
|
| /drivers/leds/ |
| A D | leds-qnap-mcu.c | 23 struct qnap_mcu *mcu; member 49 return qnap_mcu_exec_with_ack(err_led->mcu, cmd, sizeof(cmd)); in qnap_mcu_err_led_set() 75 return qnap_mcu_exec_with_ack(err_led->mcu, cmd, sizeof(cmd)); in qnap_mcu_err_led_blink_set() 87 err_led->mcu = mcu; in qnap_mcu_register_err_led() 113 struct qnap_mcu *mcu; member 142 return qnap_mcu_exec_with_ack(usb_led->mcu, cmd, sizeof(cmd)); in qnap_mcu_usb_led_set() 166 return qnap_mcu_exec_with_ack(usb_led->mcu, cmd, sizeof(cmd)); in qnap_mcu_usb_led_blink_set() 178 usb_led->mcu = mcu; in qnap_mcu_register_usb_led() 195 struct qnap_mcu *mcu = dev_get_drvdata(pdev->dev.parent); in qnap_mcu_leds_probe() local 200 ret = qnap_mcu_register_err_led(&pdev->dev, mcu, i); in qnap_mcu_leds_probe() [all …]
|
| /drivers/net/wireless/mediatek/mt76/ |
| A D | mt76x02_usb_mcu.c | 33 usb->mcu.rp[i].value = val; in mt76x02u_multiple_mcu_reads() 40 u8 *data = usb->mcu.data; in mt76x02u_mcu_wait_resp() 52 if (usb->mcu.rp) in mt76x02u_mcu_wait_resp() 120 mutex_lock(&dev->mcu.mutex); in mt76x02u_mcu_send_msg() 122 mutex_unlock(&dev->mcu.mutex); in mt76x02u_mcu_send_msg() 156 mutex_lock(&dev->mcu.mutex); in mt76x02u_mcu_wr_rp() 192 mutex_lock(&dev->mcu.mutex); in mt76x02u_mcu_rd_rp() 194 usb->mcu.rp = data; in mt76x02u_mcu_rd_rp() 195 usb->mcu.rp_len = n; in mt76x02u_mcu_rd_rp() 196 usb->mcu.base = base; in mt76x02u_mcu_rd_rp() [all …]
|
| A D | mcu.c | 41 wait_event_timeout(dev->mcu.wait, in mt76_mcu_get_response() 42 (!skb_queue_empty(&dev->mcu.res_q) || in mt76_mcu_get_response() 45 return skb_dequeue(&dev->mcu.res_q); in mt76_mcu_get_response() 51 skb_queue_tail(&dev->mcu.res_q, skb); in mt76_mcu_rx_event() 52 wake_up(&dev->mcu.wait); in mt76_mcu_rx_event() 88 mutex_lock(&dev->mcu.mutex); in mt76_mcu_skb_send_and_get_msg() 110 expires = jiffies + dev->mcu.timeout; in mt76_mcu_skb_send_and_get_msg() 132 mutex_unlock(&dev->mcu.mutex); in mt76_mcu_skb_send_and_get_msg()
|
| A D | mt76x02_mcu.c | 51 mutex_lock(&mdev->mcu.mutex); in mt76x02_mcu_msg_send() 53 seq = ++mdev->mcu.msg_seq & 0xf; in mt76x02_mcu_msg_send() 55 seq = ++mdev->mcu.msg_seq & 0xf; in mt76x02_mcu_msg_send() 76 mutex_unlock(&mdev->mcu.mutex); in mt76x02_mcu_msg_send() 153 while ((skb = skb_dequeue(&dev->mt76.mcu.res_q)) != NULL) in mt76x02_mcu_cleanup()
|
| A D | sdio_txrx.c | 188 mt76s_tx_pick_quota(struct mt76_sdio *sdio, bool mcu, int buf_sz, in mt76s_tx_pick_quota() argument 196 if (mcu && sdio->hw_ver == MT76_CONNAC2_SDIO) in mt76s_tx_pick_quota() 199 if (mcu) { in mt76s_tx_pick_quota() 215 mt76s_tx_update_quota(struct mt76_sdio *sdio, bool mcu, int pse_size, in mt76s_tx_update_quota() argument 218 if (mcu) { in mt76s_tx_update_quota() 248 bool mcu = q == dev->q_mcu[MT_MCUQ_WM]; in mt76s_tx_run_queue() local 279 if (mt76s_tx_pick_quota(sdio, mcu, e->buf_sz, &pse_sz, in mt76s_tx_run_queue() 308 mt76s_tx_update_quota(sdio, mcu, pse_sz, ple_sz); in mt76s_tx_run_queue()
|
| /drivers/net/wireless/mediatek/mt7601u/ |
| A D | mcu.c | 70 struct urb *urb = dev->mcu.resp.urb; in mt7601u_mcu_wait_resp() 86 &dev->mcu.resp, GFP_KERNEL, in mt7601u_mcu_wait_resp() 88 &dev->mcu.resp_cmpl); in mt7601u_mcu_wait_resp() 124 mutex_lock(&dev->mcu.mutex); in mt7601u_mcu_msg_send() 128 seq = ++dev->mcu.msg_seq & 0xf; in mt7601u_mcu_msg_send() 132 if (dev->mcu.resp_cmpl.done) in mt7601u_mcu_msg_send() 148 mutex_unlock(&dev->mcu.mutex); in mt7601u_mcu_msg_send() 495 mutex_init(&dev->mcu.mutex); in mt7601u_mcu_init() 514 init_completion(&dev->mcu.resp_cmpl); in mt7601u_mcu_cmd_init() 521 &dev->mcu.resp, GFP_KERNEL, in mt7601u_mcu_cmd_init() [all …]
|
| /drivers/net/ethernet/mediatek/ |
| A D | mtk_wed_mcu.c | 69 wait_event_timeout(wo->mcu.wait, !skb_queue_empty(&wo->mcu.res_q), in mtk_wed_mcu_get_response() 71 return skb_dequeue(&wo->mcu.res_q); in mtk_wed_mcu_get_response() 76 skb_queue_tail(&wo->mcu.res_q, skb); in mtk_wed_mcu_rx_event() 77 wake_up(&wo->mcu.wait); in mtk_wed_mcu_rx_event() 140 wo->mcu.timeout = 20 * HZ; in mtk_wed_mcu_skb_send_msg() 147 u16 seq = ++wo->mcu.seq; in mtk_wed_mcu_skb_send_msg() 150 seq = ++wo->mcu.seq; in mtk_wed_mcu_skb_send_msg() 202 mutex_lock(&wo->mcu.mutex); in mtk_wed_mcu_send_msg() 208 expires = jiffies + wo->mcu.timeout; in mtk_wed_mcu_send_msg() 216 mutex_unlock(&wo->mcu.mutex); in mtk_wed_mcu_send_msg() [all …]
|
| /drivers/input/misc/ |
| A D | qnap-mcu-input.c | 24 struct qnap_mcu *mcu; member 39 ret = qnap_mcu_exec(idev->mcu, cmd, sizeof(cmd), reply, sizeof(reply)); in qnap_mcu_input_poll() 60 qnap_mcu_exec_with_ack(idev->mcu, cmd, sizeof(cmd)); in qnap_mcu_input_beeper_work() 94 struct qnap_mcu *mcu = dev_get_drvdata(pdev->dev.parent); in qnap_mcu_input_probe() local 110 idev->mcu = mcu; in qnap_mcu_input_probe()
|
| /drivers/thermal/ |
| A D | khadas_mcu_fan.c | 20 struct khadas_mcu *mcu; member 30 ret = regmap_write(ctx->mcu->regmap, KHADAS_MCU_CMD_FAN_STATUS_CTRL_REG, in khadas_mcu_fan_set_level() 81 struct khadas_mcu *mcu = dev_get_drvdata(pdev->dev.parent); in khadas_mcu_fan_probe() local 90 ctx->mcu = mcu; in khadas_mcu_fan_probe()
|
| /drivers/perf/ |
| A D | xgene_pmu.c | 343 XGENE_PMU_EVENT_ATTR(mcu-request, 0x12), 344 XGENE_PMU_EVENT_ATTR(mcu-rd-request, 0x13), 345 XGENE_PMU_EVENT_ATTR(mcu-hp-rd-request, 0x14), 346 XGENE_PMU_EVENT_ATTR(mcu-wr-request, 0x15), 347 XGENE_PMU_EVENT_ATTR(mcu-rd-proceed-all, 0x16), 349 XGENE_PMU_EVENT_ATTR(mcu-rd-response, 0x18), 352 XGENE_PMU_EVENT_ATTR(mcu-wr-proceed-all, 0x1b), 483 XGENE_PMU_EVENT_ATTR(rd-req-sent-to-mcu, 0x06), 492 XGENE_PMU_EVENT_ATTR(wr-req-sent-to-mcu, 0x0f), 503 XGENE_PMU_EVENT_ATTR(mcu-req-table-full, 0x1a), [all …]
|
| /drivers/net/wireless/mediatek/mt76/mt7921/ |
| A D | sdio_mac.c | 83 wake_up(&dev->mt76.mcu.wait); in mt7921s_init_reset() 84 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7921s_init_reset() 160 wake_up(&dev->mt76.mcu.wait); in mt7921s_mac_reset() 161 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7921s_mac_reset()
|
| A D | usb.c | 42 mdev->mcu.timeout = 3 * HZ; in mt7921u_mcu_send_message() 94 wake_up(&dev->mt76.mcu.wait); in mt7921u_mac_reset() 95 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7921u_mac_reset()
|
| /drivers/net/wireless/mediatek/mt76/mt7603/ |
| A D | mcu.c | 46 mdev->mcu.timeout = 3 * HZ; in mt7603_mcu_skb_send_msg() 48 seq = ++mdev->mcu.msg_seq & 0xf; in mt7603_mcu_skb_send_msg() 50 seq = ++mdev->mcu.msg_seq & 0xf; in mt7603_mcu_skb_send_msg() 233 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7603_mcu_exit()
|
| /drivers/net/wireless/mediatek/mt76/mt7925/ |
| A D | usb.c | 30 mdev->mcu.timeout = 3 * HZ; in mt7925u_mcu_send_message() 82 wake_up(&dev->mt76.mcu.wait); in mt7925u_mac_reset() 83 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7925u_mac_reset()
|