Lines Matching defs:phy

42 		/* Set a phy's address only if it has none.
44 ASD_DPRINTK("setting phy%d addr to %llx\n", i,
53 static void asd_init_phy_identify(struct asd_phy *phy)
55 phy->identify_frame = phy->id_frm_tok->vaddr;
57 memset(phy->identify_frame, 0, sizeof(*phy->identify_frame));
59 phy->identify_frame->dev_type = SAS_END_DEVICE;
60 if (phy->sas_phy.role & PHY_ROLE_INITIATOR)
61 phy->identify_frame->initiator_bits = phy->sas_phy.iproto;
62 if (phy->sas_phy.role & PHY_ROLE_TARGET)
63 phy->identify_frame->target_bits = phy->sas_phy.tproto;
64 memcpy(phy->identify_frame->sas_addr, phy->phy_desc->sas_addr,
66 phy->identify_frame->phy_id = phy->sas_phy.id;
69 static int asd_init_phy(struct asd_phy *phy)
71 struct asd_ha_struct *asd_ha = phy->sas_phy.ha->lldd_ha;
72 struct asd_sas_phy *sas_phy = &phy->sas_phy;
81 phy->id_frm_tok = asd_alloc_coherent(asd_ha,
82 sizeof(*phy->identify_frame),
84 if (!phy->id_frm_tok) {
85 asd_printk("no mem for IDENTIFY for phy%d\n", sas_phy->id);
88 asd_init_phy_identify(phy);
90 memset(phy->frame_rcvd, 0, sizeof(phy->frame_rcvd));
116 struct asd_phy *phy = &asd_ha->phys[i];
118 phy->phy_desc = &asd_ha->hw_prof.phy_desc[i];
119 phy->asd_port = NULL;
121 phy->sas_phy.enabled = 0;
122 phy->sas_phy.id = i;
123 phy->sas_phy.sas_addr = &phy->phy_desc->sas_addr[0];
124 phy->sas_phy.frame_rcvd = &phy->frame_rcvd[0];
125 phy->sas_phy.ha = &asd_ha->sas_ha;
126 phy->sas_phy.lldd_phy = phy;
1273 * @phy_id: integer, the phy id
1304 struct asd_phy *phy = &asd_ha->phys[phy_id];
1313 phy->phy_desc->phy_control_0);
1315 phy->phy_desc->phy_control_1);
1317 phy->phy_desc->phy_control_2);
1319 phy->phy_desc->phy_control_3);
1325 phy->id_frm_tok->dma_handle);
1353 asd_printk("no memory for control phy ascb list\n");
1363 ASD_DPRINTK("posting %d control phy scbs\n", num);