Home
last modified time | relevance | path

Searched full:ec (Results 1 – 25 of 465) sorted by relevance

12345678910>>...19

/kernel/linux/linux-5.10/drivers/misc/echo/
Decho.c106 static inline void lms_adapt_bg(struct oslec_state *ec, int clean, int shift) in lms_adapt_bg() argument
122 offset2 = ec->curr_pos; in lms_adapt_bg()
123 offset1 = ec->taps - offset2; in lms_adapt_bg()
125 for (i = ec->taps - 1; i >= offset1; i--) { in lms_adapt_bg()
126 exp = (ec->fir_state_bg.history[i - offset1] * factor); in lms_adapt_bg()
127 ec->fir_taps16[1][i] += (int16_t) ((exp + (1 << 14)) >> 15); in lms_adapt_bg()
130 exp = (ec->fir_state_bg.history[i + offset2] * factor); in lms_adapt_bg()
131 ec->fir_taps16[1][i] += (int16_t) ((exp + (1 << 14)) >> 15); in lms_adapt_bg()
145 struct oslec_state *ec; in oslec_create() local
149 ec = kzalloc(sizeof(*ec), GFP_KERNEL); in oslec_create()
[all …]
/kernel/linux/linux-5.10/arch/arm/mach-rpc/
Decard.c58 ecard_t *ec; member
70 void (*init)(ecard_t *ec);
77 static void atomwide_3p_quirk(ecard_t *ec);
121 struct expansion_card *ec = req->ec; in ecard_task_reset() local
124 res = ec->slot_no == 8 in ecard_task_reset()
125 ? &ec->resource[ECARD_RES_MEMC] in ecard_task_reset()
126 : ec->easi in ecard_task_reset()
127 ? &ec->resource[ECARD_RES_EASI] in ecard_task_reset()
128 : &ec->resource[ECARD_RES_IOCSYNC]; in ecard_task_reset()
130 ecard_loader_reset(res->start, ec->loader); in ecard_task_reset()
[all …]
/kernel/linux/linux-5.10/drivers/acpi/
Dec.c3 * ec.c - ACPI Embedded Controller Driver (v3)
17 #define pr_fmt(fmt) "ACPI: EC: " fmt
38 /* EC status register */
43 #define ACPI_EC_FLAG_SCI 0x20 /* EC-SCI occurred */
47 * This leads to lots of practical timing issues for the host EC driver.
48 * The following variations are defined (from the target EC firmware's
57 * kind of EC firmware has implemented an event queue and will
77 /* EC commands */
86 #define ACPI_EC_DELAY 500 /* Wait 500ms max. during EC ops */
88 #define ACPI_EC_UDELAY_POLL 550 /* Wait 1ms for EC transaction polling */
[all …]
/kernel/linux/linux-5.10/drivers/md/
Ddm-ebs-target.c36 static inline sector_t __sector_to_block(struct ebs_c *ec, sector_t sector) in __sector_to_block() argument
38 return sector >> ec->block_shift; in __sector_to_block()
47 static inline unsigned int __nr_blocks(struct ebs_c *ec, struct bio *bio) in __nr_blocks() argument
49 sector_t end_sector = __block_mod(bio->bi_iter.bi_sector, ec->u_bs) + bio_sectors(bio); in __nr_blocks()
51 return __sector_to_block(ec, end_sector) + (__block_mod(end_sector, ec->u_bs) ? 1 : 0); in __nr_blocks()
64 static int __ebs_rw_bvec(struct ebs_c *ec, int rw, struct bio_vec *bv, struct bvec_iter *iter) in __ebs_rw_bvec() argument
70 unsigned int buf_off = to_bytes(__block_mod(iter->bi_sector, ec->u_bs)); in __ebs_rw_bvec()
71 sector_t block = __sector_to_block(ec, iter->bi_sector); in __ebs_rw_bvec()
81 cur_len = min(dm_bufio_get_block_size(ec->bufio) - buf_off, bv_len); in __ebs_rw_bvec()
84 if (rw == READ || buf_off || bv_len < dm_bufio_get_block_size(ec->bufio)) in __ebs_rw_bvec()
[all …]
/kernel/linux/linux-5.10/drivers/platform/chrome/wilco_ec/
Dcore.c7 * This is the entry point for the drivers that control the Wilco EC.
14 #include <linux/platform_data/wilco-ec.h>
19 #define DRV_NAME "wilco-ec"
40 struct wilco_ec_device *ec; in wilco_ec_probe() local
43 ec = devm_kzalloc(dev, sizeof(*ec), GFP_KERNEL); in wilco_ec_probe()
44 if (!ec) in wilco_ec_probe()
47 platform_set_drvdata(pdev, ec); in wilco_ec_probe()
48 ec->dev = dev; in wilco_ec_probe()
49 mutex_init(&ec->mailbox_lock); in wilco_ec_probe()
51 ec->data_size = sizeof(struct wilco_ec_response) + EC_MAILBOX_DATA_SIZE; in wilco_ec_probe()
[all …]
Dmailbox.c7 * The Wilco EC is similar to a typical ChromeOS embedded controller.
9 * protocol, but with some important differences. The EC firmware does
21 #include <linux/platform_data/wilco-ec.h>
32 /* Version of EC protocol */
41 /* EC response flags */
43 #define EC_CMDR_PENDING BIT(1) /* Write pending to EC */
44 #define EC_CMDR_BUSY BIT(2) /* EC is busy processing a command */
48 * wilco_ec_response_timed_out() - Wait for EC response.
49 * @ec: EC device.
51 * Return: true if EC timed out, false if EC did not time out.
[all …]
Dkeyboard_leds.c7 * Since the EC will never change the backlight level of its own accord,
14 #include <linux/platform_data/wilco-ec.h>
22 struct wilco_ec_device *ec; member
33 * struct wilco_keyboard_leds_msg - Message to/from EC for keyboard LED control.
35 * @status: Set by EC to 0 on success, 0xFF on failure.
55 static int send_kbbl_msg(struct wilco_ec_device *ec, in send_kbbl_msg() argument
69 ret = wilco_ec_mailbox(ec, &msg); in send_kbbl_msg()
71 dev_err(ec->dev, in send_kbbl_msg()
79 static int set_kbbl(struct wilco_ec_device *ec, enum led_brightness brightness) in set_kbbl() argument
91 ret = send_kbbl_msg(ec, &request, &response); in set_kbbl()
[all …]
/kernel/linux/linux-5.10/drivers/platform/olpc/
Dolpc-ec.c19 #include <linux/olpc-ec.h>
43 /* Pending EC commands */
50 * EC event mask to be applied during suspend (defining wakeup
56 * Running an EC command while suspending means we don't always finish
57 * the command before the machine suspends. This means that the EC
59 * of time (while the OS is asleep) the EC times out and restarts its
62 * the EC... and everyone's uphappy.
80 struct olpc_ec_priv *ec = container_of(w, struct olpc_ec_priv, worker); in olpc_ec_worker() local
85 spin_lock_irqsave(&ec->cmd_q_lock, flags); in olpc_ec_worker()
86 if (!list_empty(&ec->cmd_q)) { in olpc_ec_worker()
[all …]
/kernel/linux/linux-5.10/drivers/mfd/
Dcros_ec_dev.c19 #define DRV_NAME "cros-ec-dev"
74 { .name = "cros-ec-cec", },
78 { .name = "cros-ec-rtc", },
82 { .name = "cros-ec-sensorhub", },
113 { .name = "cros-ec-chardev", },
114 { .name = "cros-ec-debugfs", },
115 { .name = "cros-ec-lightbar", },
116 { .name = "cros-ec-sysfs", },
120 { .name = "cros-ec-vbc", }
134 struct cros_ec_dev *ec = kzalloc(sizeof(*ec), GFP_KERNEL); in ec_device_probe() local
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/mfd/
Dgoogle,cros-ec.yaml4 $id: http://devicetree.org/schemas/mfd/google,cros-ec.yaml#
15 Google's ChromeOS EC is a microcontroller which talks to the AP and
17 The EC can be connected through various interfaces (I2C, SPI, and others)
24 For implementations of the EC is connected through I2C.
25 const: google,cros-ec-i2c
27 For implementations of the EC is connected through SPI.
28 const: google,cros-ec-spi
30 For implementations of the EC is connected through RPMSG.
31 const: google,cros-ec-rpmsg
38 google,cros-ec-spi-pre-delay:
[all …]
/kernel/linux/linux-5.10/drivers/ide/
Dicside.c85 /* Prototype: icside_irqenable_arcin_v5 (struct expansion_card *ec, int irqnr)
88 static void icside_irqenable_arcin_v5 (struct expansion_card *ec, int irqnr) in icside_irqenable_arcin_v5() argument
90 struct icside_state *state = ec->irq_data; in icside_irqenable_arcin_v5()
95 /* Prototype: icside_irqdisable_arcin_v5 (struct expansion_card *ec, int irqnr)
98 static void icside_irqdisable_arcin_v5 (struct expansion_card *ec, int irqnr) in icside_irqdisable_arcin_v5() argument
100 struct icside_state *state = ec->irq_data; in icside_irqdisable_arcin_v5()
112 /* Prototype: icside_irqenable_arcin_v6 (struct expansion_card *ec, int irqnr)
115 static void icside_irqenable_arcin_v6 (struct expansion_card *ec, int irqnr) in icside_irqenable_arcin_v6() argument
117 struct icside_state *state = ec->irq_data; in icside_irqenable_arcin_v6()
134 /* Prototype: icside_irqdisable_arcin_v6 (struct expansion_card *ec, int irqnr)
[all …]
/kernel/linux/linux-5.10/drivers/platform/chrome/
Dcros_ec_sensorhub.c19 #define DRV_NAME "cros-ec-sensorhub"
54 struct cros_ec_dev *ec = sensorhub->ec; in cros_ec_sensorhub_register() local
67 ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); in cros_ec_sensorhub_register()
69 dev_warn(dev, "no info for EC sensor %d : %d/%d\n", in cros_ec_sensorhub_register()
76 name = "cros-ec-accel"; in cros_ec_sensorhub_register()
79 name = "cros-ec-baro"; in cros_ec_sensorhub_register()
82 name = "cros-ec-gyro"; in cros_ec_sensorhub_register()
85 name = "cros-ec-mag"; in cros_ec_sensorhub_register()
88 name = "cros-ec-prox"; in cros_ec_sensorhub_register()
91 name = "cros-ec-light"; in cros_ec_sensorhub_register()
[all …]
Dcros_ec_debugfs.c2 // Debug logs for the ChromeOS EC
20 #define DRV_NAME "cros-ec-debugfs"
29 * struct cros_ec_debugfs - EC debugging information.
31 * @ec: EC device this debugfs information belongs to
34 * @read_msg: preallocated EC command and buffer to read console log
37 * @log_poll_work: recurring task to poll EC for new console log data
41 struct cros_ec_dev *ec; member
43 /* EC log */
49 /* EC panicinfo */
54 * We need to make sure that the EC log buffer on the UART is large enough,
[all …]
DKconfig59 Controller (EC) providing keyboard, battery and power services.
61 protocol for talking to the EC is defined by the bus driver.
72 EC through an I2C bus. This uses a simple byte-level protocol with
80 If you say Y here, you get support for talking to the ChromeOS EC
82 checksum. Also since there's no addition EC-to-host interrupt, this
93 If you say Y here, you get support for talking to the ChromeOS EC
106 If you say Y here, you get support for talking to the ChromeOS EC
107 through a SPI bus, using a byte-level protocol. Since the EC's
115 If you say Y here, you get support for talking to the ChromeOS EC
116 over an LPC bus, including the LPC Microchip EC (MEC) variant.
[all …]
/kernel/linux/linux-5.10/include/linux/platform_data/
Dwilco-ec.h15 #define WILCO_EC_FLAG_NO_RESPONSE BIT(0) /* EC does not respond */
31 * @data_buffer: Buffer used for EC communication. The same buffer
33 * @data_size: Size of the data buffer used for EC communication.
75 * @result: Result code from the EC. Non-zero indicates an error.
91 * @WILCO_EC_MSG_LEGACY: Legacy EC messages for standard EC behavior.
92 * @WILCO_EC_MSG_PROPERTY: Get/Set/Sync EC controlled NVRAM property.
93 * @WILCO_EC_MSG_TELEMETRY: Request telemetry data from the EC.
105 * @request_size: Number of bytes to send to the EC.
107 * @response_size: Number of bytes to read from EC.
121 * wilco_ec_mailbox() - Send request to the EC and receive the response.
[all …]
Dcros_ec_proto.h25 * The EC is unresponsive for a time after a reboot command. Add a
41 * Command interface between EC and AP, for LPC, I2C and SPI interfaces.
58 * struct cros_ec_command - Information about a ChromeOS EC command.
62 * @insize: Max number of bytes to accept from the EC.
63 * @result: EC's response to the command (separate from communication failure).
64 * @data: Where to put the incoming data from EC and outgoing data to EC.
76 * struct cros_ec_device - Information about a ChromeOS EC device.
82 * @cmd_readmem: Direct read of the EC memory-mapped region, if supported.
95 * @din: Input buffer (for data from EC). This buffer will always be
101 * @dout: Output buffer (for data to EC). This buffer will always be
[all …]
/kernel/linux/linux-5.10/crypto/
Dsm2.c63 static int sm2_ec_ctx_init(struct mpi_ec_ctx *ec) in sm2_ec_ctx_init() argument
83 ec->Q = mpi_point_new(0); in sm2_ec_ctx_init()
84 if (!ec->Q) in sm2_ec_ctx_init()
88 ec->G = mpi_point_new(0); in sm2_ec_ctx_init()
89 if (!ec->G) { in sm2_ec_ctx_init()
90 mpi_point_release(ec->Q); in sm2_ec_ctx_init()
94 mpi_set(ec->G->x, x); in sm2_ec_ctx_init()
95 mpi_set(ec->G->y, y); in sm2_ec_ctx_init()
96 mpi_set_ui(ec->G->z, 1); in sm2_ec_ctx_init()
99 ec->n = mpi_scanval(ecp->n); in sm2_ec_ctx_init()
[all …]
Djitterentropy.c131 * @ec [in] Reference to entropy collector
133 static void jent_apt_reset(struct rand_data *ec, unsigned int delta_masked) in jent_apt_reset() argument
136 ec->apt_count = 0; in jent_apt_reset()
137 ec->apt_base = delta_masked; in jent_apt_reset()
138 ec->apt_observations = 0; in jent_apt_reset()
144 * @ec [in] Reference to entropy collector
147 static void jent_apt_insert(struct rand_data *ec, unsigned int delta_masked) in jent_apt_insert() argument
150 if (!ec->apt_base_set) { in jent_apt_insert()
151 ec->apt_base = delta_masked; in jent_apt_insert()
152 ec->apt_base_set = 1; in jent_apt_insert()
[all …]
/kernel/linux/linux-5.10/drivers/ata/
Dpata_icside.c64 struct expansion_card *ec; member
83 /* Prototype: pata_icside_irqenable_arcin_v5 (struct expansion_card *ec, int irqnr)
86 static void pata_icside_irqenable_arcin_v5 (struct expansion_card *ec, int irqnr) in pata_icside_irqenable_arcin_v5() argument
88 struct pata_icside_state *state = ec->irq_data; in pata_icside_irqenable_arcin_v5()
93 /* Prototype: pata_icside_irqdisable_arcin_v5 (struct expansion_card *ec, int irqnr)
96 static void pata_icside_irqdisable_arcin_v5 (struct expansion_card *ec, int irqnr) in pata_icside_irqdisable_arcin_v5() argument
98 struct pata_icside_state *state = ec->irq_data; in pata_icside_irqdisable_arcin_v5()
110 /* Prototype: pata_icside_irqenable_arcin_v6 (struct expansion_card *ec, int irqnr)
113 static void pata_icside_irqenable_arcin_v6 (struct expansion_card *ec, int irqnr) in pata_icside_irqenable_arcin_v6() argument
115 struct pata_icside_state *state = ec->irq_data; in pata_icside_irqenable_arcin_v6()
[all …]
/kernel/linux/linux-5.10/Documentation/ABI/testing/
Ddebugfs-cros-ec1 What: /sys/kernel/debug/<cros-ec-device>/console_log
5 If the EC supports the CONSOLE_READ command type, this file
6 can be used to grab the EC logs. The kernel polls for the log
10 What: /sys/kernel/debug/<cros-ec-device>/panicinfo
14 This file dumps the EC panic information from the previous
16 type is supported by the EC.
18 What: /sys/kernel/debug/<cros-ec-device>/pdinfo
27 What: /sys/kernel/debug/<cros-ec-device>/uptime
31 A u32 providing the time since EC booted in ms. This is
32 is used for synchronizing the AP host time with the EC
[all …]
/kernel/linux/linux-5.10/drivers/pwm/
Dpwm-cros-ec.c3 * Expose a PWM controlled by the ChromeOS EC to the host processor.
16 * struct cros_ec_pwm_device - Driver data for EC PWM
19 * @ec: Pointer to EC device
24 struct cros_ec_device *ec; member
61 static int cros_ec_pwm_set_duty(struct cros_ec_device *ec, u8 index, u16 duty) in cros_ec_pwm_set_duty() argument
81 return cros_ec_cmd_xfer_status(ec, msg); in cros_ec_pwm_set_duty()
84 static int cros_ec_pwm_get_duty(struct cros_ec_device *ec, u8 index) in cros_ec_pwm_get_duty() argument
108 ret = cros_ec_cmd_xfer_status(ec, msg); in cros_ec_pwm_get_duty()
123 /* The EC won't let us change the period */ in cros_ec_pwm_apply()
128 * EC doesn't separate the concept of duty cycle and enabled, but in cros_ec_pwm_apply()
[all …]
/kernel/linux/linux-5.10/drivers/edac/
Dmce_amd.c431 static bool f12h_mc0_mce(u16 ec, u8 xec) in f12h_mc0_mce() argument
435 if (MEM_ERROR(ec)) { in f12h_mc0_mce()
436 u8 ll = LL(ec); in f12h_mc0_mce()
442 pr_cont("Data/Tag %s error.\n", R4_MSG(ec)); in f12h_mc0_mce()
449 static bool f10h_mc0_mce(u16 ec, u8 xec) in f10h_mc0_mce() argument
451 if (R4(ec) == R4_GEN && LL(ec) == LL_L1) { in f10h_mc0_mce()
455 return f12h_mc0_mce(ec, xec); in f10h_mc0_mce()
458 static bool k8_mc0_mce(u16 ec, u8 xec) in k8_mc0_mce() argument
460 if (BUS_ERROR(ec)) { in k8_mc0_mce()
465 return f10h_mc0_mce(ec, xec); in k8_mc0_mce()
[all …]
/kernel/linux/linux-5.10/arch/arm/include/asm/
Decard.h113 void (*irqenable)(ecard_t *ec, int irqnr);
114 void (*irqdisable)(ecard_t *ec, int irqnr);
115 int (*irqpending)(ecard_t *ec);
116 void (*fiqenable)(ecard_t *ec, int fiqnr);
117 void (*fiqdisable)(ecard_t *ec, int fiqnr);
118 int (*fiqpending)(ecard_t *ec);
130 #define ecard_resource_start(ec,nr) ((ec)->resource[nr].start) argument
131 #define ecard_resource_end(ec,nr) ((ec)->resource[nr].end) argument
132 #define ecard_resource_len(ec,nr) ((ec)->resource[nr].end - \ argument
133 (ec)->resource[nr].start + 1)
[all …]
/kernel/linux/linux-5.10/drivers/scsi/arm/
Dpowertec.c58 struct expansion_card *ec; member
64 /* Prototype: void powertecscsi_irqenable(ec, irqnr)
66 * Params : ec - expansion card structure
70 powertecscsi_irqenable(struct expansion_card *ec, int irqnr) in powertecscsi_irqenable() argument
72 struct powertec_info *info = ec->irq_data; in powertecscsi_irqenable()
76 /* Prototype: void powertecscsi_irqdisable(ec, irqnr)
78 * Params : ec - expansion card structure
82 powertecscsi_irqdisable(struct expansion_card *ec, int irqnr) in powertecscsi_irqdisable() argument
84 struct powertec_info *info = ec->irq_data; in powertecscsi_irqdisable()
189 host->hostt->name, info->info.scsi.type, info->ec->slot_no, in powertecscsi_info()
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/i2c/
Dgoogle,cros-ec-i2c-tunnel.yaml5 $id: http://devicetree.org/schemas/i2c/google,cros-ec-i2c-tunnel.yaml#
8 title: I2C bus that tunnels through the ChromeOS EC (cros-ec)
16 On some ChromeOS board designs we've got a connection to the EC
18 other side of the EC (like a battery and PMIC). To get access to
19 those devices we need to tunnel our i2c commands through the EC.
21 The node for this device should be under a cros-ec node like
22 google,cros-ec-spi or google,cros-ec-i2c.
29 const: google,cros-ec-i2c-tunnel
32 description: The EC bus we'd like to talk to.
47 cros-ec@0 {
[all …]

12345678910>>...19