Home
last modified time | relevance | path

Searched refs:hwdev (Results 1 – 25 of 88) sorted by relevance

1234

/linux/drivers/net/ethernet/huawei/hinic3/
H A Dhinic3_hwdev.c48 static int hinic3_comm_aeqs_init(struct hinic3_hwdev *hwdev) in hinic3_comm_aeqs_init() argument
54 num_aeqs = hwdev->hwif->attr.num_aeqs; in hinic3_comm_aeqs_init()
56 dev_warn(hwdev->dev, "Adjust aeq num to %d\n", in hinic3_comm_aeqs_init()
60 err = hinic3_alloc_irqs(hwdev, num_aeqs, aeq_msix_entries, in hinic3_comm_aeqs_init()
63 dev_err(hwdev->dev, "Failed to alloc aeq irqs, num_aeqs: %u\n", in hinic3_comm_aeqs_init()
69 dev_warn(hwdev->dev, "Adjust aeq num to %u\n", in hinic3_comm_aeqs_init()
74 err = hinic3_aeqs_init(hwdev, num_aeqs, aeq_msix_entries); in hinic3_comm_aeqs_init()
76 dev_err(hwdev->dev, "Failed to init aeqs\n"); in hinic3_comm_aeqs_init()
84 hinic3_free_irq(hwdev, aeq_msix_entries[i].vector); in hinic3_comm_aeqs_init()
89 static int hinic3_comm_ceqs_init(struct hinic3_hwdev *hwdev) in hinic3_comm_ceqs_init() argument
[all …]
H A Dhinic3_nic_cfg.c16 static int hinic3_feature_nego(struct hinic3_hwdev *hwdev, u8 opcode, in hinic3_feature_nego() argument
23 feature_nego.func_id = hinic3_global_func_id(hwdev); in hinic3_feature_nego()
32 err = hinic3_send_mbox_to_mgmt(hwdev, MGMT_MOD_L2NIC, in hinic3_feature_nego()
35 dev_err(hwdev->dev, "Failed to negotiate nic feature, err:%d, status: 0x%x\n", in hinic3_feature_nego()
49 return hinic3_feature_nego(nic_dev->hwdev, MGMT_MSG_CMD_OP_GET, in hinic3_get_nic_feature_from_hw()
55 return hinic3_feature_nego(nic_dev->hwdev, MGMT_MSG_CMD_OP_SET, in hinic3_set_nic_feature_to_hw()
65 static int hinic3_set_rx_lro(struct hinic3_hwdev *hwdev, u8 ipv4_en, u8 ipv6_en, in hinic3_set_rx_lro() argument
72 lro_cfg.func_id = hinic3_global_func_id(hwdev); in hinic3_set_rx_lro()
81 err = hinic3_send_mbox_to_mgmt(hwdev, MGMT_MOD_L2NIC, in hinic3_set_rx_lro()
86 dev_err(hwdev->dev, "Failed to set lro offload, err: %d, status: 0x%x\n", in hinic3_set_rx_lro()
[all …]
H A Dhinic3_hw_comm.c12 static int hinic3_get_interrupt_cfg(struct hinic3_hwdev *hwdev, in hinic3_get_interrupt_cfg() argument
19 msix_cfg.func_id = hinic3_global_func_id(hwdev); in hinic3_get_interrupt_cfg()
25 err = hinic3_send_mbox_to_mgmt(hwdev, MGMT_MOD_COMM, in hinic3_get_interrupt_cfg()
28 dev_err(hwdev->dev, "Failed to get interrupt config, err: %d, status: 0x%x\n", in hinic3_get_interrupt_cfg()
42 int hinic3_set_interrupt_cfg_direct(struct hinic3_hwdev *hwdev, in hinic3_set_interrupt_cfg_direct() argument
49 msix_cfg.func_id = hinic3_global_func_id(hwdev); in hinic3_set_interrupt_cfg_direct()
61 err = hinic3_send_mbox_to_mgmt(hwdev, MGMT_MOD_COMM, in hinic3_set_interrupt_cfg_direct()
64 dev_err(hwdev->dev, in hinic3_set_interrupt_cfg_direct()
73 int hinic3_set_interrupt_cfg(struct hinic3_hwdev *hwdev, in hinic3_set_interrupt_cfg() argument
81 err = hinic3_get_interrupt_cfg(hwdev, &temp_info); in hinic3_set_interrupt_cfg()
[all …]
H A Dhinic3_hw_cfg.c13 static void hinic3_parse_pub_res_cap(struct hinic3_hwdev *hwdev, in hinic3_parse_pub_res_cap() argument
22 static void hinic3_parse_l2nic_res_cap(struct hinic3_hwdev *hwdev, in hinic3_parse_l2nic_res_cap() argument
33 static void hinic3_parse_dev_cap(struct hinic3_hwdev *hwdev, in hinic3_parse_dev_cap() argument
37 struct hinic3_dev_cap *cap = &hwdev->cfg_mgmt->cap; in hinic3_parse_dev_cap()
40 hinic3_parse_pub_res_cap(hwdev, cap, dev_cap, type); in hinic3_parse_dev_cap()
43 if (hinic3_support_nic(hwdev)) in hinic3_parse_dev_cap()
44 hinic3_parse_l2nic_res_cap(hwdev, cap, dev_cap, type); in hinic3_parse_dev_cap()
47 static int get_cap_from_fw(struct hinic3_hwdev *hwdev, in get_cap_from_fw() argument
54 dev_cap.func_id = hinic3_global_func_id(hwdev); in get_cap_from_fw()
58 err = hinic3_send_mbox_to_mgmt(hwdev, MGMT_MOD_CFGM, in get_cap_from_fw()
[all …]
H A Dhinic3_eqs.c106 int hinic3_aeq_register_cb(struct hinic3_hwdev *hwdev, in hinic3_aeq_register_cb() argument
112 aeqs = hwdev->aeqs; in hinic3_aeq_register_cb()
119 void hinic3_aeq_unregister_cb(struct hinic3_hwdev *hwdev, in hinic3_aeq_unregister_cb() argument
124 aeqs = hwdev->aeqs; in hinic3_aeq_unregister_cb()
131 int hinic3_ceq_register_cb(struct hinic3_hwdev *hwdev, in hinic3_ceq_register_cb() argument
137 ceqs = hwdev->ceqs; in hinic3_ceq_register_cb()
144 void hinic3_ceq_unregister_cb(struct hinic3_hwdev *hwdev, in hinic3_ceq_unregister_cb() argument
149 ceqs = hwdev->ceqs; in hinic3_ceq_unregister_cb()
174 hinic3_hwif_write_reg(eq->hwdev->hwif, addr, val); in set_eq_cons_idx()
185 struct hinic3_hwdev *hwdev = ceqs->hwdev; in ceq_event_handler() local
[all …]
H A Dhinic3_mbox.c85 struct hinic3_hwdev *hwdev = mbox->hwdev; in get_mbox_msg_desc() local
90 } else if (HINIC3_IS_VF(hwdev)) { in get_mbox_msg_desc()
93 if (src_func_id != hinic3_pf_id_of_vf(hwdev) || !msg_ch) in get_mbox_msg_desc()
149 dev_err(mbox->hwdev->dev, in mbox_segment_valid()
153 dev_err(mbox->hwdev->dev, in mbox_segment_valid()
190 void hinic3_mbox_func_aeqe_handler(struct hinic3_hwdev *hwdev, u8 *header, in hinic3_mbox_func_aeqe_handler() argument
199 mbox = hwdev->mbox; in hinic3_mbox_func_aeqe_handler()
204 dev_err(mbox->hwdev->dev, in hinic3_mbox_func_aeqe_handler()
212 static int init_mbox_dma_queue(struct hinic3_hwdev *hwdev, in init_mbox_dma_queue() argument
222 mq->dma_buf_vaddr = dma_alloc_coherent(hwdev->dev, size, in init_mbox_dma_queue()
[all …]
H A Dhinic3_rss.c24 static int hinic3_rss_cfg(struct hinic3_hwdev *hwdev, u8 rss_en, u16 num_qps) in hinic3_rss_cfg() argument
30 rss_cfg.func_id = hinic3_global_func_id(hwdev); in hinic3_rss_cfg()
37 err = hinic3_send_mbox_to_mgmt(hwdev, MGMT_MOD_L2NIC, in hinic3_rss_cfg()
40 dev_err(hwdev->dev, "Failed to set rss cfg, err: %d, status: 0x%x\n", in hinic3_rss_cfg()
95 static int hinic3_rss_set_indir_tbl(struct hinic3_hwdev *hwdev, in hinic3_rss_set_indir_tbl() argument
104 cmd_buf = hinic3_alloc_cmd_buf(hwdev); in hinic3_rss_set_indir_tbl()
106 dev_err(hwdev->dev, "Failed to allocate cmd buf\n"); in hinic3_rss_set_indir_tbl()
119 err = hinic3_cmdq_direct_resp(hwdev, MGMT_MOD_L2NIC, in hinic3_rss_set_indir_tbl()
123 dev_err(hwdev->dev, "Failed to set rss indir table\n"); in hinic3_rss_set_indir_tbl()
127 hinic3_free_cmd_buf(hwdev, cmd_buf); in hinic3_rss_set_indir_tbl()
[all …]
H A Dhinic3_nic_io.c211 struct hinic3_hwdev *hwdev = nic_dev->hwdev; in hinic3_init_nic_io() local
221 err = hinic3_set_func_svc_used_state(hwdev, COMM_FUNC_SVC_T_NIC, 1); in hinic3_init_nic_io()
223 dev_err(hwdev->dev, "Failed to set function svc used state\n"); in hinic3_init_nic_io()
229 dev_err(hwdev->dev, "Failed to init function table\n"); in hinic3_init_nic_io()
237 dev_err(hwdev->dev, "Failed to get nic features\n"); in hinic3_init_nic_io()
243 dev_dbg(hwdev->dev, "nic features: 0x%llx\n\n", nic_io->feature_cap); in hinic3_init_nic_io()
248 hinic3_set_func_svc_used_state(hwdev, COMM_FUNC_SVC_T_NIC, 0); in hinic3_init_nic_io()
260 hinic3_set_func_svc_used_state(nic_dev->hwdev, COMM_FUNC_SVC_T_NIC, 0); in hinic3_free_nic_io()
268 struct hinic3_hwdev *hwdev = nic_dev->hwdev; in hinic3_init_nicio_res() local
272 nic_io->max_qps = hinic3_func_max_qnum(hwdev); in hinic3_init_nicio_res()
[all …]
H A Dhinic3_hwif.c96 struct hinic3_hwdev *hwdev = priv_data; in check_hwif_ready_handler() local
99 attr1 = hinic3_hwif_read_reg(hwdev->hwif, HINIC3_CSR_FUNC_ATTR1_ADDR); in check_hwif_ready_handler()
105 static int wait_hwif_ready(struct hinic3_hwdev *hwdev) in wait_hwif_ready() argument
107 return hinic3_wait_for_timeout(hwdev, check_hwif_ready_handler, in wait_hwif_ready()
135 static int init_hwif_attr(struct hinic3_hwdev *hwdev) in init_hwif_attr() argument
140 hwif = hwdev->hwif; in init_hwif_attr()
164 dev_err(hwdev->dev, "Ceq num cfg in fw is zero\n"); in init_hwif_attr()
169 dev_err(hwdev->dev, in init_hwif_attr()
206 static void hinic3_set_ppf(struct hinic3_hwdev *hwdev) in hinic3_set_ppf() argument
208 struct hinic3_hwif *hwif = hwdev->hwif; in hinic3_set_ppf()
[all …]
H A Dhinic3_cmdq.c119 struct hinic3_cmd_buf *hinic3_alloc_cmd_buf(struct hinic3_hwdev *hwdev) in hinic3_alloc_cmd_buf() argument
124 cmdqs = hwdev->cmdqs; in hinic3_alloc_cmd_buf()
133 dev_err(hwdev->dev, "Failed to allocate cmdq cmd buf from the pool\n"); in hinic3_alloc_cmd_buf()
148 void hinic3_free_cmd_buf(struct hinic3_hwdev *hwdev, in hinic3_free_cmd_buf() argument
156 cmdqs = hwdev->cmdqs; in hinic3_free_cmd_buf()
163 struct hinic3_hwdev *hwdev) in cmdq_clear_cmd_buf() argument
166 hinic3_free_cmd_buf(hwdev, cmd_info->buf_in); in cmdq_clear_cmd_buf()
228 cmdq_clear_cmd_buf(&cmdq->cmd_infos[ci], cmdq->hwdev); in cmdq_sync_cmd_handler()
232 void hinic3_cmdq_ceq_handler(struct hinic3_hwdev *hwdev, __le32 ceqe_data) in hinic3_cmdq_ceq_handler() argument
235 struct hinic3_cmdqs *cmdqs = hwdev->cmdqs; in hinic3_cmdq_ceq_handler()
[all …]
H A Dhinic3_hw_comm.h24 int hinic3_set_interrupt_cfg_direct(struct hinic3_hwdev *hwdev,
26 int hinic3_set_interrupt_cfg(struct hinic3_hwdev *hwdev,
28 int hinic3_func_reset(struct hinic3_hwdev *hwdev, u16 func_id, u64 reset_flag);
30 int hinic3_get_comm_features(struct hinic3_hwdev *hwdev, u64 *s_feature,
32 int hinic3_set_comm_features(struct hinic3_hwdev *hwdev, u64 *s_feature,
34 int hinic3_get_global_attr(struct hinic3_hwdev *hwdev,
36 int hinic3_set_func_svc_used_state(struct hinic3_hwdev *hwdev, u16 svc_type,
38 int hinic3_set_dma_attr_tbl(struct hinic3_hwdev *hwdev, u8 entry_idx, u8 st,
41 int hinic3_set_wq_page_size(struct hinic3_hwdev *hwdev, u16 func_idx,
43 int hinic3_set_cmdq_depth(struct hinic3_hwdev *hwdev, u16 cmdq_depth);
[all …]
H A Dhinic3_hwif.h78 #define HINIC3_FUNC_TYPE(hwdev) ((hwdev)->hwif->attr.func_type) argument
79 #define HINIC3_IS_PF(hwdev) \ argument
80 (HINIC3_FUNC_TYPE(hwdev) == HINIC3_FUNC_TYPE_PF)
81 #define HINIC3_IS_VF(hwdev) \ argument
82 (HINIC3_FUNC_TYPE(hwdev) == HINIC3_FUNC_TYPE_VF)
90 int hinic3_alloc_db_addr(struct hinic3_hwdev *hwdev, void __iomem **db_base,
92 void hinic3_free_db_addr(struct hinic3_hwdev *hwdev, const u8 __iomem *db_base);
98 int hinic3_init_hwif(struct hinic3_hwdev *hwdev);
99 void hinic3_free_hwif(struct hinic3_hwdev *hwdev);
101 void hinic3_set_msix_state(struct hinic3_hwdev *hwdev, u16 msix_idx,
[all …]
H A Dhinic3_nic_cfg.h78 int hinic3_set_rx_lro_state(struct hinic3_hwdev *hwdev, u8 lro_en,
80 int hinic3_set_rx_vlan_offload(struct hinic3_hwdev *hwdev, u8 en);
81 int hinic3_set_vlan_filter(struct hinic3_hwdev *hwdev, u32 vlan_filter_ctrl);
86 int hinic3_get_default_mac(struct hinic3_hwdev *hwdev, u8 *mac_addr);
87 int hinic3_set_mac(struct hinic3_hwdev *hwdev, const u8 *mac_addr, u16 vlan_id,
89 int hinic3_del_mac(struct hinic3_hwdev *hwdev, const u8 *mac_addr, u16 vlan_id,
91 int hinic3_update_mac(struct hinic3_hwdev *hwdev, const u8 *old_mac,
94 int hinic3_set_ci_table(struct hinic3_hwdev *hwdev,
96 int hinic3_flush_qps_res(struct hinic3_hwdev *hwdev);
97 int hinic3_force_drop_tx_pkt(struct hinic3_hwdev *hwdev);
[all …]
H A Dhinic3_lld.c35 static bool hinic3_adev_svc_supported(struct hinic3_hwdev *hwdev, in hinic3_adev_svc_supported() argument
40 return hinic3_support_nic(hwdev); in hinic3_adev_svc_supported()
56 static struct hinic3_adev *hinic3_add_one_adev(struct hinic3_hwdev *hwdev, in hinic3_add_one_adev() argument
69 hadev->adev.id = hwdev->dev_id; in hinic3_add_one_adev()
70 hadev->adev.dev.parent = hwdev->dev; in hinic3_add_one_adev()
73 hadev->hwdev = hwdev; in hinic3_add_one_adev()
77 dev_err(hwdev->dev, "failed init adev %s %u\n", in hinic3_add_one_adev()
78 svc_name, hwdev->dev_id); in hinic3_add_one_adev()
85 dev_err(hwdev->dev, "failed to add adev %s %u\n", in hinic3_add_one_adev()
86 svc_name, hwdev->dev_id); in hinic3_add_one_adev()
[all …]
H A Dhinic3_main.c81 struct hinic3_hwdev *hwdev = nic_dev->hwdev; in hinic3_alloc_txrxqs() local
86 dev_err(hwdev->dev, "Failed to alloc txqs\n"); in hinic3_alloc_txrxqs()
92 dev_err(hwdev->dev, "Failed to alloc rxqs\n"); in hinic3_alloc_txrxqs()
98 dev_err(hwdev->dev, "Failed to init_intr_coalesce\n"); in hinic3_alloc_txrxqs()
127 dev_info(nic_dev->hwdev->dev, in hinic3_periodic_work_handler()
136 struct hinic3_hwdev *hwdev) in hinic3_init_nic_dev() argument
139 struct pci_dev *pdev = hwdev->pdev; in hinic3_init_nic_dev()
143 nic_dev->hwdev = hwdev; in hinic3_init_nic_dev()
153 nic_dev->nic_svc_cap = hwdev->cfg_mgmt->cap.nic_svc_cap; in hinic3_init_nic_dev()
157 dev_err(hwdev->dev, "Failed to initialize nic workqueue\n"); in hinic3_init_nic_dev()
[all …]
H A Dhinic3_wq.c14 static int wq_init_wq_block(struct hinic3_hwdev *hwdev, struct hinic3_wq *wq) in wq_init_wq_block() argument
27 dev_err(hwdev->dev, "wq num_pages exceed limit: %lu\n", in wq_init_wq_block()
32 wq->wq_block_vaddr = dma_alloc_coherent(hwdev->dev, in wq_init_wq_block()
45 static int wq_alloc_pages(struct hinic3_hwdev *hwdev, struct hinic3_wq *wq) in wq_alloc_pages() argument
49 err = hinic3_queue_pages_alloc(hwdev, &wq->qpages, 0); in wq_alloc_pages()
53 err = wq_init_wq_block(hwdev, wq); in wq_alloc_pages()
55 hinic3_queue_pages_free(hwdev, &wq->qpages); in wq_alloc_pages()
62 static void wq_free_pages(struct hinic3_hwdev *hwdev, struct hinic3_wq *wq) in wq_free_pages() argument
65 dma_free_coherent(hwdev->dev, in wq_free_pages()
70 hinic3_queue_pages_free(hwdev, &wq->qpages); in wq_free_pages()
[all …]
H A Dhinic3_eqs.h48 struct hinic3_hwdev *hwdev; member
73 typedef void (*hinic3_aeq_event_cb)(struct hinic3_hwdev *hwdev, u8 *data,
77 struct hinic3_hwdev *hwdev; member
91 typedef void (*hinic3_ceq_event_cb)(struct hinic3_hwdev *hwdev,
95 struct hinic3_hwdev *hwdev; member
105 int hinic3_aeqs_init(struct hinic3_hwdev *hwdev, u16 num_aeqs,
107 void hinic3_aeqs_free(struct hinic3_hwdev *hwdev);
108 int hinic3_aeq_register_cb(struct hinic3_hwdev *hwdev,
111 void hinic3_aeq_unregister_cb(struct hinic3_hwdev *hwdev,
113 int hinic3_ceqs_init(struct hinic3_hwdev *hwdev, u16 num_ceqs,
[all …]
/linux/drivers/net/ethernet/huawei/hinic/
H A Dhinic_hw_dev.c51 static int parse_capability(struct hinic_hwdev *hwdev, in parse_capability() argument
54 struct hinic_cap *nic_cap = &hwdev->nic_cap; in parse_capability()
57 if (!HINIC_IS_VF(hwdev->hwif) && dev_cap->intr_type != INTR_MSIX_TYPE) in parse_capability()
60 num_aeqs = HINIC_HWIF_NUM_AEQS(hwdev->hwif); in parse_capability()
61 num_ceqs = HINIC_HWIF_NUM_CEQS(hwdev->hwif); in parse_capability()
62 num_irqs = HINIC_HWIF_NUM_IRQS(hwdev->hwif); in parse_capability()
70 if (!HINIC_IS_VF(hwdev->hwif)) in parse_capability()
78 if (!HINIC_IS_VF(hwdev->hwif)) { in parse_capability()
83 hwdev->port_id = dev_cap->port_id; in parse_capability()
96 struct hinic_hwdev *hwdev = &pfhwdev->hwdev; in get_capability() local
[all …]
H A Dhinic_port.c37 struct hinic_hwdev *hwdev = nic_dev->hwdev; in change_mac() local
39 struct hinic_hwif *hwif = hwdev->hwif; in change_mac()
54 err = hinic_port_msg_cmd(hwdev, cmd, &port_mac_cmd, in change_mac()
116 struct hinic_hwdev *hwdev = nic_dev->hwdev; in hinic_port_get_mac() local
118 struct hinic_hwif *hwif = hwdev->hwif; in hinic_port_get_mac()
125 err = hinic_port_msg_cmd(hwdev, HINIC_PORT_CMD_GET_MAC, in hinic_port_get_mac()
147 struct hinic_hwdev *hwdev = nic_dev->hwdev; in hinic_port_set_mtu() local
149 struct hinic_hwif *hwif = hwdev->hwif; in hinic_port_set_mtu()
157 err = hinic_port_msg_cmd(hwdev, HINIC_PORT_CMD_CHANGE_MTU, in hinic_port_set_mtu()
178 struct hinic_hwdev *hwdev = nic_dev->hwdev; in hinic_port_add_vlan() local
[all …]
H A Dhinic_sriov.c29 static int hinic_set_mac(struct hinic_hwdev *hwdev, const u8 *mac_addr, in hinic_set_mac() argument
40 err = hinic_port_msg_cmd(hwdev, HINIC_PORT_CMD_SET_MAC, &mac_info, in hinic_set_mac()
44 …dev_err(&hwdev->func_to_io.hwif->pdev->dev, "Failed to set MAC, err: %d, status: 0x%x, out size: 0… in hinic_set_mac()
52 static void hinic_notify_vf_link_status(struct hinic_hwdev *hwdev, u16 vf_id, in hinic_notify_vf_link_status() argument
55 struct vf_data_storage *vf_infos = hwdev->func_to_io.vf_infos; in hinic_notify_vf_link_status()
62 link.func_id = hinic_glb_pf_vf_offset(hwdev->hwif) + vf_id; in hinic_notify_vf_link_status()
63 err = hinic_mbox_to_vf(hwdev, HINIC_MOD_L2NIC, in hinic_notify_vf_link_status()
68 dev_err(&hwdev->hwif->pdev->dev, in hinic_notify_vf_link_status()
76 void hinic_notify_all_vfs_link_changed(struct hinic_hwdev *hwdev, in hinic_notify_all_vfs_link_changed() argument
79 struct hinic_func_to_io *nic_io = &hwdev->func_to_io; in hinic_notify_all_vfs_link_changed()
[all …]
H A Dhinic_hw_mbox.c186 static bool check_func_id(struct hinic_hwdev *hwdev, u16 src_func_idx, in check_func_id() argument
192 dev_warn(&hwdev->hwif->pdev->dev, in check_func_id()
201 dev_warn(&hwdev->hwif->pdev->dev, in check_func_id()
210 bool hinic_mbox_check_func_id_8B(struct hinic_hwdev *hwdev, u16 func_idx, in hinic_mbox_check_func_id_8B() argument
213 return check_func_id(hwdev, func_idx, buf_in, in_size, in hinic_mbox_check_func_id_8B()
224 int hinic_register_pf_mbox_cb(struct hinic_hwdev *hwdev, in hinic_register_pf_mbox_cb() argument
228 struct hinic_mbox_func_to_func *func_to_func = hwdev->func_to_func; in hinic_register_pf_mbox_cb()
247 int hinic_register_vf_mbox_cb(struct hinic_hwdev *hwdev, in hinic_register_vf_mbox_cb() argument
251 struct hinic_mbox_func_to_func *func_to_func = hwdev->func_to_func; in hinic_register_vf_mbox_cb()
268 void hinic_unregister_pf_mbox_cb(struct hinic_hwdev *hwdev, in hinic_unregister_pf_mbox_cb() argument
[all …]
/linux/drivers/gpu/drm/arm/
H A Dmalidp_hw.c270 static int malidp500_query_hw(struct malidp_hw_device *hwdev) in malidp500_query_hw() argument
272 u32 conf = malidp_hw_read(hwdev, MALIDP500_CONFIG_ID); in malidp500_query_hw()
276 hwdev->min_line_size = 2; in malidp500_query_hw()
277 hwdev->max_line_size = SZ_2K * ln_size_mult; in malidp500_query_hw()
278 hwdev->rotation_memory[0] = SZ_1K * 64 * ln_size_mult; in malidp500_query_hw()
279 hwdev->rotation_memory[1] = 0; /* no second rotation memory bank */ in malidp500_query_hw()
284 static void malidp500_enter_config_mode(struct malidp_hw_device *hwdev) in malidp500_enter_config_mode() argument
288 malidp_hw_setbits(hwdev, MALIDP500_DC_CONFIG_REQ, MALIDP500_DC_CONTROL); in malidp500_enter_config_mode()
290 status = malidp_hw_read(hwdev, hwdev->hw->map.dc_base + MALIDP_REG_STATUS); in malidp500_enter_config_mode()
303 static void malidp500_leave_config_mode(struct malidp_hw_device *hwdev) in malidp500_leave_config_mode() argument
[all …]
H A Dmalidp_hw.h147 int (*query_hw)(struct malidp_hw_device *hwdev);
152 void (*enter_config_mode)(struct malidp_hw_device *hwdev);
157 void (*leave_config_mode)(struct malidp_hw_device *hwdev);
162 bool (*in_config_mode)(struct malidp_hw_device *hwdev);
171 void (*set_config_valid)(struct malidp_hw_device *hwdev, u8 value);
177 void (*modeset)(struct malidp_hw_device *hwdev, struct videomode *m);
183 int (*rotmem_required)(struct malidp_hw_device *hwdev, u16 w, u16 h,
186 int (*se_set_scaling_coeffs)(struct malidp_hw_device *hwdev,
190 long (*se_calc_mclk)(struct malidp_hw_device *hwdev,
203 int (*enable_memwrite)(struct malidp_hw_device *hwdev, dma_addr_t *addrs,
[all …]
H A Dmalidp_drv.c45 static void malidp_write_gamma_table(struct malidp_hw_device *hwdev, in malidp_write_gamma_table() argument
56 malidp_hw_write(hwdev, gamma_write_mask, in malidp_write_gamma_table()
57 hwdev->hw->map.coeffs_base + MALIDP_COEF_TABLE_ADDR); in malidp_write_gamma_table()
59 malidp_hw_write(hwdev, data[i], in malidp_write_gamma_table()
60 hwdev->hw->map.coeffs_base + in malidp_write_gamma_table()
68 struct malidp_hw_device *hwdev = malidp->dev; in malidp_atomic_commit_update_gamma() local
74 malidp_hw_clearbits(hwdev, in malidp_atomic_commit_update_gamma()
83 malidp_write_gamma_table(hwdev, mc->gamma_coeffs); in malidp_atomic_commit_update_gamma()
85 malidp_hw_setbits(hwdev, MALIDP_DISP_FUNC_GAMMA, in malidp_atomic_commit_update_gamma()
95 struct malidp_hw_device *hwdev = malidp->dev; in malidp_atomic_commit_update_coloradj() local
[all …]
/linux/drivers/hwmon/
H A Dhwmon.c133 struct hwmon_device *hwdev = to_hwmon_device(dev); in hwmon_dev_release() local
135 if (hwdev->group.attrs) in hwmon_dev_release()
136 hwmon_free_attrs(hwdev->group.attrs); in hwmon_dev_release()
137 kfree(hwdev->groups); in hwmon_dev_release()
138 kfree(hwdev->label); in hwmon_dev_release()
139 kfree(hwdev); in hwmon_dev_release()
166 struct hwmon_device *hwdev = to_hwmon_device(tdata->dev); in hwmon_thermal_get_temp() local
170 guard(mutex)(&hwdev->lock); in hwmon_thermal_get_temp()
172 ret = hwdev->chip->ops->read(tdata->dev, hwmon_temp, hwmon_temp_input, in hwmon_thermal_get_temp()
185 struct hwmon_device *hwdev = to_hwmon_device(tdata->dev); in hwmon_thermal_set_trips() local
[all …]

1234