Home
last modified time | relevance | path

Searched +full:d +full:- +full:phy (Results 1 – 25 of 1034) sorted by relevance

12345678910>>...42

/OK3568_Linux_fs/external/rkwifibt/drivers/rtl8852bs/phl/hal_g6/phy/rf/halrf_8852b/
H A Dhalrf_set_pwr_table_8852b.c19 s8 _halrf_avg_power_8852b(struct rf_info *rf, enum phl_phy_idx phy, s8 *value, s8 n) in _halrf_avg_power_8852b() argument
28 RF_DBG(rf, DBG_RF_POWER, "value[%d]=%d total=%d n=%d\n", i, value[i], total, n); in _halrf_avg_power_8852b()
36 void _halrf_bub_sort_8852b(struct rf_info *rf, enum phl_phy_idx phy, s8 *data, u32 n) in _halrf_bub_sort_8852b() argument
43 RF_DBG(rf, DBG_RF_POWER, "===> %s Before data[%d]=%d\n", __func__, k, data[k]); in _halrf_bub_sort_8852b()
45 for (i = n - 1; i >= 0; i--) { in _halrf_bub_sort_8852b()
60 RF_DBG(rf, DBG_RF_POWER, "<=== %s After data[%d]=%d\n", __func__, k, data[k]); in _halrf_bub_sort_8852b()
63 bool halrf_set_power_by_rate_to_struct_8852b(struct rf_info *rf, enum phl_phy_idx phy) in halrf_set_power_by_rate_to_struct_8852b() argument
65 struct rtw_tpu_info *tpu = &rf->hal_com->band[phy].rtw_tpu_i; in halrf_set_power_by_rate_to_struct_8852b()
66 struct rtw_tpu_pwr_by_rate_info *rate = &tpu->rtw_tpu_pwr_by_rate_i; in halrf_set_power_by_rate_to_struct_8852b()
71 …rate->pwr_by_rate_lgcy[0] = halrf_get_power_by_rate(rf, phy, RF_PATH_A, RTW_DATA_RATE_CCK1, 0, 0) … in halrf_set_power_by_rate_to_struct_8852b()
[all …]
H A Dhalrf_txgapk_8852b.c3 * Copyright(c) 2007 - 2017 Realtek Corporation.
30 enum phl_phy_idx phy, in _txgapk_backup_bb_registers_8852b() argument
47 enum phl_phy_idx phy, in _txgapk_reload_bb_registers_8852b() argument
74 RF_DBG(rf, DBG_RF_TXGAPK, "[TXGAPK] Backup RF S%d 0x%x = %x\n", in _halrf_txgapk_bkup_rf_8852b()
90 RF_DBG(rf, DBG_RF_TXGAPK, "[TXGAPK] Reload RF S%d 0x%x = %x\n", in _halrf_txgapk_reload_rf_8852b()
97 enum phl_phy_idx phy, enum rf_path path, bool is_dbcc) in _halrf_txgapk_bb_afe_by_mode_8852b() argument
124 halrf_bb_ctrl_rx_cca(rf, false, phy); in _halrf_txgapk_bb_afe_by_mode_8852b()
145 if (phy == HW_PHY_0) { in _halrf_txgapk_bb_afe_by_mode_8852b()
164 halrf_bb_ctrl_rx_cca(rf, false, phy); in _halrf_txgapk_bb_afe_by_mode_8852b()
183 } else if (phy == HW_PHY_1) { in _halrf_txgapk_bb_afe_by_mode_8852b()
[all …]
/OK3568_Linux_fs/external/rkwifibt/drivers/rtl8852be/phl/hal_g6/phy/rf/halrf_8852b/
H A Dhalrf_set_pwr_table_8852b.c19 s8 _halrf_avg_power_8852b(struct rf_info *rf, enum phl_phy_idx phy, s8 *value, s8 n) in _halrf_avg_power_8852b() argument
28 RF_DBG(rf, DBG_RF_POWER, "value[%d]=%d total=%d n=%d\n", i, value[i], total, n); in _halrf_avg_power_8852b()
36 void _halrf_bub_sort_8852b(struct rf_info *rf, enum phl_phy_idx phy, s8 *data, u32 n) in _halrf_bub_sort_8852b() argument
43 RF_DBG(rf, DBG_RF_POWER, "===> %s Before data[%d]=%d\n", __func__, k, data[k]); in _halrf_bub_sort_8852b()
45 for (i = n - 1; i >= 0; i--) { in _halrf_bub_sort_8852b()
60 RF_DBG(rf, DBG_RF_POWER, "<=== %s After data[%d]=%d\n", __func__, k, data[k]); in _halrf_bub_sort_8852b()
63 bool halrf_set_power_by_rate_to_struct_8852b(struct rf_info *rf, enum phl_phy_idx phy) in halrf_set_power_by_rate_to_struct_8852b() argument
65 struct rtw_tpu_info *tpu = &rf->hal_com->band[phy].rtw_tpu_i; in halrf_set_power_by_rate_to_struct_8852b()
66 struct rtw_tpu_pwr_by_rate_info *rate = &tpu->rtw_tpu_pwr_by_rate_i; in halrf_set_power_by_rate_to_struct_8852b()
71 …rate->pwr_by_rate_lgcy[0] = halrf_get_power_by_rate(rf, phy, RF_PATH_A, RTW_DATA_RATE_CCK1, 0, 0) … in halrf_set_power_by_rate_to_struct_8852b()
[all …]
H A Dhalrf_txgapk_8852b.c3 * Copyright(c) 2007 - 2017 Realtek Corporation.
30 enum phl_phy_idx phy, in _txgapk_backup_bb_registers_8852b() argument
47 enum phl_phy_idx phy, in _txgapk_reload_bb_registers_8852b() argument
74 RF_DBG(rf, DBG_RF_TXGAPK, "[TXGAPK] Backup RF S%d 0x%x = %x\n", in _halrf_txgapk_bkup_rf_8852b()
90 RF_DBG(rf, DBG_RF_TXGAPK, "[TXGAPK] Reload RF S%d 0x%x = %x\n", in _halrf_txgapk_reload_rf_8852b()
97 enum phl_phy_idx phy, enum rf_path path, bool is_dbcc) in _halrf_txgapk_bb_afe_by_mode_8852b() argument
124 halrf_bb_ctrl_rx_cca(rf, false, phy); in _halrf_txgapk_bb_afe_by_mode_8852b()
145 if (phy == HW_PHY_0) { in _halrf_txgapk_bb_afe_by_mode_8852b()
164 halrf_bb_ctrl_rx_cca(rf, false, phy); in _halrf_txgapk_bb_afe_by_mode_8852b()
183 } else if (phy == HW_PHY_1) { in _halrf_txgapk_bb_afe_by_mode_8852b()
[all …]
/OK3568_Linux_fs/kernel/drivers/gpu/drm/msm/dsi/phy/
H A Ddsi_phy.c1 // SPDX-License-Identifier: GPL-2.0-only
10 #define S_DIV_ROUND_UP(n, d) \ argument
11 (((n) >= 0) ? (((n) + (d) - 1) / (d)) : (((n) - (d) + 1) / (d)))
18 v = (tmax - tmin) * percent; in linear_inter()
21 return max_t(s32, min_result, v - 1); in linear_inter()
33 temp = 300 * coeff - ((timing->clk_prepare >> 1) + 1) * 2 * ui; in dsi_dphy_timing_calc_clk_zero()
34 tmin = S_DIV_ROUND_UP(temp, ui) - 2; in dsi_dphy_timing_calc_clk_zero()
44 temp = (timing->hs_rqst + timing->clk_prepare + clk_z) & 0x7; in dsi_dphy_timing_calc_clk_zero()
45 timing->clk_zero = clk_z + 8 - temp; in dsi_dphy_timing_calc_clk_zero()
51 const unsigned long bit_rate = clk_req->bitclk_rate; in msm_dsi_dphy_timing_calc()
[all …]
/OK3568_Linux_fs/kernel/drivers/scsi/libsas/
H A Dsas_init.c1 // SPDX-License-Identifier: GPL-2.0-only
32 spin_lock_init(&task->task_state_lock); in sas_alloc_task()
33 task->task_state_flags = SAS_TASK_STATE_PENDING; in sas_alloc_task()
52 task->slow_task = slow; in sas_alloc_slow_task()
53 slow->task = task; in sas_alloc_slow_task()
54 timer_setup(&slow->timer, NULL, 0); in sas_alloc_slow_task()
55 init_completion(&slow->completion); in sas_alloc_slow_task()
64 kfree(task->slow_task); in sas_free_task()
70 /*------------ SAS addr hash -----------*/
80 for (b = (SAS_ADDR_SIZE - 1); b >= 0; b--) { in sas_hash_addr()
[all …]
H A Dsas_expander.c1 // SPDX-License-Identifier: GPL-2.0
29 /* ---------- SMP task management ---------- */
34 struct sas_task *task = slow->task; in smp_task_timedout()
37 spin_lock_irqsave(&task->task_state_lock, flags); in smp_task_timedout()
38 if (!(task->task_state_flags & SAS_TASK_STATE_DONE)) { in smp_task_timedout()
39 task->task_state_flags |= SAS_TASK_STATE_ABORTED; in smp_task_timedout()
40 complete(&task->slow_task->completion); in smp_task_timedout()
42 spin_unlock_irqrestore(&task->task_state_lock, flags); in smp_task_timedout()
47 del_timer(&task->slow_task->timer); in smp_task_done()
48 complete(&task->slow_task->completion); in smp_task_done()
[all …]
/OK3568_Linux_fs/kernel/drivers/scsi/aic94xx/
H A Daic94xx_scb.c1 // SPDX-License-Identifier: GPL-2.0-only
19 /* ---------- EMPTY SCB ---------- */
36 static void get_lrate_mode(struct asd_phy *phy, u8 oob_mode) in get_lrate_mode() argument
38 struct sas_phy *sas_phy = phy->sas_phy.phy; in get_lrate_mode()
43 phy->sas_phy.linkrate = SAS_LINK_RATE_6_0_GBPS; in get_lrate_mode()
44 phy->sas_phy.phy->negotiated_linkrate = SAS_LINK_RATE_6_0_GBPS; in get_lrate_mode()
47 phy->sas_phy.linkrate = SAS_LINK_RATE_3_0_GBPS; in get_lrate_mode()
48 phy->sas_phy.phy->negotiated_linkrate = SAS_LINK_RATE_3_0_GBPS; in get_lrate_mode()
51 phy->sas_phy.linkrate = SAS_LINK_RATE_1_5_GBPS; in get_lrate_mode()
52 phy->sas_phy.phy->negotiated_linkrate = SAS_LINK_RATE_1_5_GBPS; in get_lrate_mode()
[all …]
/OK3568_Linux_fs/kernel/drivers/nfc/
H A Dmei_phy.c1 // SPDX-License-Identifier: GPL-2.0
74 16, 1, (skb)->data, (skb)->len, false); \
81 16, 1, (skb)->data, (skb)->len, false); \
87 pr_debug("cmd=%02d status=%d req_id=%d rsvd=%d size=%d\n", \
88 (_hdr)->cmd, (_hdr)->status, (_hdr)->req_id, \
89 (_hdr)->reserved, (_hdr)->data_size); \
92 static int mei_nfc_if_version(struct nfc_mei_phy *phy) in mei_nfc_if_version() argument
109 r = mei_cldev_send(phy->cldev, (u8 *)&cmd, sizeof(struct mei_nfc_cmd)); in mei_nfc_if_version()
121 return -ENOMEM; in mei_nfc_if_version()
123 bytes_recv = mei_cldev_recv(phy->cldev, (u8 *)reply, if_version_length); in mei_nfc_if_version()
[all …]
/OK3568_Linux_fs/kernel/drivers/net/wireless/broadcom/b43/
H A Dlo.c1 // SPDX-License-Identifier: GPL-2.0-or-later
6 G PHY LO (LocalOscillator) Measuring and Control routines
8 Copyright (c) 2005 Martin Langer <martin-langer@gmx.de>,
10 Copyright (c) 2005-2007 Michael Buesch <m@bues.ch>
33 list_for_each_entry(c, &lo->calib_list, list) { in b43_find_lo_calib()
34 if (!b43_compare_bbatt(&c->bbatt, bbatt)) in b43_find_lo_calib()
36 if (!b43_compare_rfatt(&c->rfatt, rfatt)) in b43_find_lo_calib()
44 /* Write the LocalOscillator Control (adjust) value-pair. */
47 struct b43_phy *phy = &dev->phy; in b43_lo_write() local
51 if (unlikely(abs(control->i) > 16 || abs(control->q) > 16)) { in b43_lo_write()
[all …]
/OK3568_Linux_fs/kernel/drivers/dma/
H A Dzx_dma.c1 // SPDX-License-Identifier: GPL-2.0-only
8 #include <linux/dma-mapping.h>
22 #include "virt-dma.h"
24 #define DRIVER_NAME "zx-dma"
26 #define DMA_MAX_SIZE (0x10000 - 512)
99 int id; /* Request phy chan id */
103 struct zx_dma_phy *phy; member
120 spinlock_t lock; /* lock for ch and phy */
122 struct zx_dma_phy *phy; member
138 static void zx_dma_terminate_chan(struct zx_dma_phy *phy, struct zx_dma_dev *d) in zx_dma_terminate_chan() argument
[all …]
H A Dk3dma.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (c) 2013 - 2015 Linaro Ltd.
8 #include <linux/dma-mapping.h>
23 #include "virt-dma.h"
25 #define DRIVER_NAME "k3-dma"
83 struct k3_dma_phy *phy; member
105 struct k3_dma_phy *phy; member
134 static void k3_dma_pause_dma(struct k3_dma_phy *phy, bool on) in k3_dma_pause_dma() argument
139 val = readl_relaxed(phy->base + CX_CFG); in k3_dma_pause_dma()
141 writel_relaxed(val, phy->base + CX_CFG); in k3_dma_pause_dma()
[all …]
H A Dpxa_dma.c1 // SPDX-License-Identifier: GPL-2.0-only
11 #include <linux/dma-mapping.h>
22 #include <linux/dma/pxa-dma.h>
25 #include "virt-dma.h"
36 #define PXA_DCSR_NODESC BIT(30) /* No-Descriptor Fetch (read / write) */
38 #define PXA_DCSR_REQPEND BIT(8) /* Request Pending (read-only) */
39 #define PXA_DCSR_STOPSTATE BIT(3) /* Stop State (read-only) */
64 #define PXA_DCMD_ENDIAN BIT(18) /* Device Endian-ness. */
71 #define PXA_DCMD_LENGTH 0x01fff /* length mask (max = 8K - 1) */
74 #define PDMA_MAX_DESC_BYTES (PXA_DCMD_LENGTH & ~((1 << PDMA_ALIGNMENT) - 1))
[all …]
/OK3568_Linux_fs/kernel/drivers/scsi/mpt3sas/
H A Dmpt3sas_transport.c5 * Copyright (C) 2012-2014 LSI Corporation
6 * Copyright (C) 2013-2014 Avago Technologies
7 * (mailto: MPT-FusionLinux.pdl@avagotech.com)
22 * LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
41 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
64 * _transport_sas_node_find_by_sas_address - sas node search
67 * Context: Calling function should acquire ioc->sas_node_lock.
76 if (ioc->sas_hba.sas_address == sas_address) in _transport_sas_node_find_by_sas_address()
77 return &ioc->sas_hba; in _transport_sas_node_find_by_sas_address()
84 * _transport_convert_phy_link_rate -
[all …]
/OK3568_Linux_fs/kernel/drivers/phy/freescale/
H A Dphy-fsl-imx8-mipi-dphy.c1 // SPDX-License-Identifier: GPL-2.0+
8 #include <linux/clk-provider.h>
15 #include <linux/phy/phy.h>
47 ((x) < 32) ? 0xe0 | ((x) - 16) : \
48 ((x) < 64) ? 0xc0 | ((x) - 32) : \
49 ((x) < 128) ? 0x80 | ((x) - 64) : \
50 ((x) - 128))
51 #define CN(x) (((x) == 1) ? 0x1f : (((CN_BUF) >> ((x) - 1)) & 0x1f))
52 #define CO(x) ((CO_BUF) >> (8 - (x)) & 0x03)
54 /* PHY power on is active low */
[all …]
/OK3568_Linux_fs/u-boot/drivers/phy/
H A Dphy-uclass.c2 * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
3 * Written by Jean-Jacques Hiblot <jjhiblot@ti.com>
5 * SPDX-License-Identifier: GPL-2.0+
10 #include <generic-phy.h>
16 return (struct phy_ops *)dev->driver->ops; in phy_dev_ops()
19 static int generic_phy_xlate_offs_flags(struct phy *phy, in generic_phy_xlate_offs_flags() argument
22 debug("%s(phy=%p)\n", __func__, phy); in generic_phy_xlate_offs_flags()
24 if (args->args_count > 1) { in generic_phy_xlate_offs_flags()
25 debug("Invaild args_count: %d\n", args->args_count); in generic_phy_xlate_offs_flags()
26 return -EINVAL; in generic_phy_xlate_offs_flags()
[all …]
H A Dsti_usb_phy.c2 * Copyright (C) 2017, STMicroelectronics - All Rights Reserved
5 * SPDX-License-Identifier: GPL-2.0+
14 #include <generic-phy.h>
17 #include <reset-uclass.h>
44 static int sti_usb_phy_deassert(struct sti_usb_phy *phy) in sti_usb_phy_deassert() argument
48 ret = reset_deassert(&phy->global_ctl); in sti_usb_phy_deassert()
50 pr_err("PHY global deassert failed: %d", ret); in sti_usb_phy_deassert()
54 ret = reset_deassert(&phy->port_ctl); in sti_usb_phy_deassert()
56 pr_err("PHY port deassert failed: %d", ret); in sti_usb_phy_deassert()
61 static int sti_usb_phy_init(struct phy *usb_phy) in sti_usb_phy_init()
[all …]
/OK3568_Linux_fs/kernel/drivers/gpu/drm/hisilicon/kirin/kirin/
H A Ddw_drm_dsi.c1 // SPDX-License-Identifier: GPL-2.0-only
6 * Copyright (c) 2014-2016 Hisilicon Limited.
35 static u32 dsi_calc_phy_rate(u32 req_kHz, struct mipi_phy_params *phy) in dsi_calc_phy_rate() argument
65 phy->pll_vco_750M = dphy_range_info[i].pll_vco_750M; in dsi_calc_phy_rate()
66 phy->hstx_ckg_sel = dphy_range_info[i].hstx_ckg_sel; in dsi_calc_phy_rate()
68 if (phy->hstx_ckg_sel <= 7 && in dsi_calc_phy_rate()
69 phy->hstx_ckg_sel >= 4) in dsi_calc_phy_rate()
70 q_pll = 0x10 >> (7 - phy->hstx_ckg_sel); in dsi_calc_phy_rate()
104 phy->pll_fbd_p = 0; in dsi_calc_phy_rate()
105 phy->pll_pre_div1p = 1; in dsi_calc_phy_rate()
[all …]
/OK3568_Linux_fs/kernel/drivers/phy/intel/
H A Dphy-intel-keembay-emmc.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Intel Keem Bay eMMC PHY driver
14 #include <linux/phy/phy.h>
18 /* eMMC/SD/SDIO core/phy configuration registers */
53 static int keembay_emmc_phy_power(struct phy *phy, bool on_off) in keembay_emmc_phy_power() argument
55 struct keembay_emmc_phy *priv = phy_get_drvdata(phy); in keembay_emmc_phy_power()
66 ret = regmap_update_bits(priv->syscfg, PHY_CFG_0, PWR_DOWN_MASK, in keembay_emmc_phy_power()
69 dev_err(&phy->dev, "CALIO power down bar failed: %d\n", ret); in keembay_emmc_phy_power()
73 ret = regmap_update_bits(priv->syscfg, PHY_CFG_0, DLL_EN_MASK, in keembay_emmc_phy_power()
76 dev_err(&phy->dev, "turn off the dll failed: %d\n", ret); in keembay_emmc_phy_power()
[all …]
H A Dphy-intel-lgm-emmc.c1 // SPDX-License-Identifier: GPL-2.0
3 * Intel eMMC PHY driver
14 #include <linux/phy/phy.h>
18 /* eMMC phy register definitions */
51 static int intel_emmc_phy_power(struct phy *phy, bool on_off) in intel_emmc_phy_power() argument
53 struct intel_emmc_phy *priv = phy_get_drvdata(phy); in intel_emmc_phy_power()
64 ret = regmap_update_bits(priv->syscfg, EMMC_PHYCTRL1_REG, PDB_MASK, in intel_emmc_phy_power()
67 dev_err(&phy->dev, "CALIO power down bar failed: %d\n", ret); in intel_emmc_phy_power()
75 rate = clk_get_rate(priv->emmcclk); in intel_emmc_phy_power()
78 dev_warn(&phy->dev, "Unsupported rate: %lu\n", rate); in intel_emmc_phy_power()
[all …]
/OK3568_Linux_fs/kernel/drivers/phy/mediatek/
H A Dphy-mtk-xsphy.c1 // SPDX-License-Identifier: GPL-2.0
10 #include <dt-bindings/phy/phy.h>
17 #include <linux/phy/phy.h>
20 /* u2 phy banks */
25 /* u3 phy shared banks */
29 /* u3 phy banks */
92 struct phy *phy; member
94 struct clk *ref_clk; /* reference clock of anolog phy */
119 void __iomem *pbase = inst->port_base; in u2_phy_slew_rate_calibrate()
125 if (inst->eye_src) in u2_phy_slew_rate_calibrate()
[all …]
/OK3568_Linux_fs/kernel/drivers/media/platform/ti-vpe/
H A Dcal-camerarx.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * TI Camera Access Layer (CAL) - CAMERARX
5 * Copyright (c) 2015-2020 Texas Instruments Inc.
21 #include <media/v4l2-ctrls.h>
22 #include <media/v4l2-fwnode.h>
23 #include <media/v4l2-subdev.h>
28 /* ------------------------------------------------------------------
30 * ------------------------------------------------------------------
33 static inline u32 camerarx_read(struct cal_camerarx *phy, u32 offset) in camerarx_read() argument
35 return ioread32(phy->base + offset); in camerarx_read()
[all …]
/OK3568_Linux_fs/kernel/drivers/phy/samsung/
H A Dphy-samsung-ufs.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * UFS PHY driver for Samsung SoC
18 #include <linux/phy/phy.h>
22 #include "phy-samsung-ufs.h"
24 #define for_each_phy_lane(phy, i) \ argument
25 for (i = 0; i < (phy)->lane_cnt; i++)
27 for (; (cfg)->id; (cfg)++)
31 static void samsung_ufs_phy_config(struct samsung_ufs_phy *phy, in samsung_ufs_phy_config() argument
39 writel(cfg->val, (phy)->reg_pma + cfg->off_0); in samsung_ufs_phy_config()
42 if (cfg->id == PHY_TRSV_BLK) in samsung_ufs_phy_config()
[all …]
/OK3568_Linux_fs/kernel/drivers/net/ethernet/chelsio/cxgb3/
H A Daq100x.c2 * Copyright (c) 2005-2008 Chelsio, Inc. All rights reserved.
14 * - Redistributions of source code must retain the above
18 * - Redistributions in binary form must reproduce the above
65 static int aq100x_reset(struct cphy *phy, int wait) in aq100x_reset() argument
71 int err = t3_phy_reset(phy, MDIO_MMD_VEND1, 3000); in aq100x_reset()
74 CH_WARN(phy->adapter, "PHY%d: reset failed (0x%x).\n", in aq100x_reset()
75 phy->mdio.prtad, err); in aq100x_reset()
80 static int aq100x_intr_enable(struct cphy *phy) in aq100x_intr_enable() argument
82 int err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, AQ_IMASK_PMA, IMASK_PMA); in aq100x_intr_enable()
86 err = t3_mdio_write(phy, MDIO_MMD_VEND1, AQ_IMASK_GLOBAL, IMASK_GLOBAL); in aq100x_intr_enable()
[all …]
/OK3568_Linux_fs/kernel/drivers/scsi/
H A Dscsi_transport_sas.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2005-2006 Dell Inc.
13 * introduces two additional intermediate objects: The SAS PHY
14 * as represented by struct sas_phy defines an "outgoing" PHY on
15 * a SAS HBA or Expander, and the SAS remote PHY represented by
16 * struct sas_rphy defines an "incoming" PHY on a SAS Expander or
18 * underlying hardware for a PHY and a remote PHY is the exactly
52 #define to_sas_host_attrs(host) ((struct sas_host_attrs *)(host)->shost_data)
101 return -EINVAL; \
150 { SAS_PHY_DISABLED, "Phy disabled" },
[all …]

12345678910>>...42