History

firmware: ti_sci: Add support for IRQ management

TISCI abstracts the handling of IRQ routes where interrupt sources are not directly connected to host interrupt controller. Add support for the set of TISCI commands for requesting and releasing IRQs.

Lokesh Vutla committed 7 years ago

Commit 997b0011 parent 9c19fb63 files · +331 −0Browse files

Showing the changes to include/linux (1 of 3 files). Show all

Unified · Split

include/linux/soc/ti/ti_sci_protocol.h+26−0
@@ -217,17 +217,43 @@ struct ti_sci_rm_core_ops { · 216 unmodified lines
217 u16 *range_start, u16 *range_num);217 u16 *range_start, u16 *range_num);
218};218};
219 219
220/**
221 * struct ti_sci_rm_irq_ops: IRQ management operations
222 * @set_irq: Set an IRQ route between the requested source
223 * and destination
224 * @set_event_map: Set an Event based peripheral irq to Interrupt
225 * Aggregator.
226 * @free_irq: Free an an IRQ route between the requested source
227 * destination.
228 * @free_event_map: Free an event based peripheral irq to Interrupt
229 * Aggregator.
230 */
231struct ti_sci_rm_irq_ops {
232 int (*set_irq)(const struct ti_sci_handle *handle, u16 src_id,
233 u16 src_index, u16 dst_id, u16 dst_host_irq);
234 int (*set_event_map)(const struct ti_sci_handle *handle, u16 src_id,
235 u16 src_index, u16 ia_id, u16 vint,
236 u16 global_event, u8 vint_status_bit);
237 int (*free_irq)(const struct ti_sci_handle *handle, u16 src_id,
238 u16 src_index, u16 dst_id, u16 dst_host_irq);
239 int (*free_event_map)(const struct ti_sci_handle *handle, u16 src_id,
240 u16 src_index, u16 ia_id, u16 vint,
241 u16 global_event, u8 vint_status_bit);
242};
243
220/**244/**
221 * struct ti_sci_ops - Function support for TI SCI245 * struct ti_sci_ops - Function support for TI SCI
222 * @dev_ops: Device specific operations246 * @dev_ops: Device specific operations
223 * @clk_ops: Clock specific operations247 * @clk_ops: Clock specific operations
224 * @rm_core_ops: Resource management core operations.248 * @rm_core_ops: Resource management core operations.
249 * @rm_irq_ops: IRQ management specific operations
225 */250 */
226struct ti_sci_ops {251struct ti_sci_ops {
227 struct ti_sci_core_ops core_ops;252 struct ti_sci_core_ops core_ops;
228 struct ti_sci_dev_ops dev_ops;253 struct ti_sci_dev_ops dev_ops;
229 struct ti_sci_clk_ops clk_ops;254 struct ti_sci_clk_ops clk_ops;
230 struct ti_sci_rm_core_ops rm_core_ops;255 struct ti_sci_rm_core_ops rm_core_ops;
256 struct ti_sci_rm_irq_ops rm_irq_ops;
231};257};
232 258
233/**259/**

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t