| /OK3568_Linux_fs/external/rkwifibt/drivers/rtl8852bs/phl/hal_g6/phy/rf/halrf_8852b/ |
| H A D | halrf_set_pwr_table_8852b.c | 19 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 D | halrf_txgapk_8852b.c | 3 * 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 D | halrf_set_pwr_table_8852b.c | 19 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 D | halrf_txgapk_8852b.c | 3 * 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 D | dsi_phy.c | 1 // 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 D | sas_init.c | 1 // 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 D | sas_expander.c | 1 // 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 D | aic94xx_scb.c | 1 // 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 D | mei_phy.c | 1 // 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 D | lo.c | 1 // 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 D | zx_dma.c | 1 // 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 D | k3dma.c | 1 // 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 D | pxa_dma.c | 1 // 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 D | mpt3sas_transport.c | 5 * 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 D | phy-fsl-imx8-mipi-dphy.c | 1 // 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 D | phy-uclass.c | 2 * 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 D | sti_usb_phy.c | 2 * 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 D | dw_drm_dsi.c | 1 // 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 D | phy-intel-keembay-emmc.c | 1 // 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 D | phy-intel-lgm-emmc.c | 1 // 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 D | phy-mtk-xsphy.c | 1 // 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 D | cal-camerarx.c | 1 // 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 D | phy-samsung-ufs.c | 1 // 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 D | aq100x.c | 2 * 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 D | scsi_transport_sas.c | 1 // 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 …]
|