linux/drivers/ufs/host/ufshcd-pci.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Universal Flash Storage Host controller PCI glue driver
 *
 * Copyright (C) 2011-2013 Samsung India Software Operations
 *
 * Authors:
 *	Santosh Yaraganavi <[email protected]>
 *	Vinayak Holikatti <[email protected]>
 */

#include <ufs/ufshcd.h>
#include <linux/delay.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/pm_runtime.h>
#include <linux/pm_qos.h>
#include <linux/debugfs.h>
#include <linux/uuid.h>
#include <linux/acpi.h>
#include <linux/gpio/consumer.h>

#define MAX_SUPP_MAC

struct ufs_host {};

enum intel_ufs_dsm_func_id {};

struct intel_host {};

static const guid_t intel_dsm_guid =;

static bool __intel_dsm_supported(struct intel_host *host,
				  enum intel_ufs_dsm_func_id fn)
{}

#define INTEL_DSM_SUPPORTED(host, name)

static int __intel_dsm(struct intel_host *intel_host, struct device *dev,
		       unsigned int fn, u32 *result)
{}

static int intel_dsm(struct intel_host *intel_host, struct device *dev,
		     unsigned int fn, u32 *result)
{}

static void intel_dsm_init(struct intel_host *intel_host, struct device *dev)
{}

static int ufs_intel_hce_enable_notify(struct ufs_hba *hba,
				       enum ufs_notify_change_status status)
{}

static int ufs_intel_disable_lcc(struct ufs_hba *hba)
{}

static int ufs_intel_link_startup_notify(struct ufs_hba *hba,
					 enum ufs_notify_change_status status)
{}

static int ufs_intel_set_lanes(struct ufs_hba *hba, u32 lanes)
{}

static int ufs_intel_lkf_pwr_change_notify(struct ufs_hba *hba,
				enum ufs_notify_change_status status,
				struct ufs_pa_layer_attr *dev_max_params,
				struct ufs_pa_layer_attr *dev_req_params)
{}

static int ufs_intel_lkf_apply_dev_quirks(struct ufs_hba *hba)
{}

#define INTEL_ACTIVELTR
#define INTEL_IDLELTR

#define INTEL_LTR_REQ
#define INTEL_LTR_SCALE_MASK
#define INTEL_LTR_SCALE_1US
#define INTEL_LTR_SCALE_32US
#define INTEL_LTR_VALUE_MASK

static void intel_cache_ltr(struct ufs_hba *hba)
{}

static void intel_ltr_set(struct device *dev, s32 val)
{}

static void intel_ltr_expose(struct device *dev)
{}

static void intel_ltr_hide(struct device *dev)
{}

static void intel_add_debugfs(struct ufs_hba *hba)
{}

static void intel_remove_debugfs(struct ufs_hba *hba)
{}

static int ufs_intel_device_reset(struct ufs_hba *hba)
{}

static struct gpio_desc *ufs_intel_get_reset_gpio(struct device *dev)
{}

static int ufs_intel_common_init(struct ufs_hba *hba)
{}

static void ufs_intel_common_exit(struct ufs_hba *hba)
{}

static int ufs_intel_resume(struct ufs_hba *hba, enum ufs_pm_op op)
{}

static int ufs_intel_ehl_init(struct ufs_hba *hba)
{}

static void ufs_intel_lkf_late_init(struct ufs_hba *hba)
{}

static int ufs_intel_lkf_init(struct ufs_hba *hba)
{}

static int ufs_intel_adl_init(struct ufs_hba *hba)
{}

static int ufs_intel_mtl_init(struct ufs_hba *hba)
{}

static int ufs_qemu_get_hba_mac(struct ufs_hba *hba)
{}

static int ufs_qemu_mcq_config_resource(struct ufs_hba *hba)
{}

static int ufs_qemu_op_runtime_config(struct ufs_hba *hba)
{}

static struct ufs_hba_variant_ops ufs_qemu_hba_vops =;

static struct ufs_hba_variant_ops ufs_intel_cnl_hba_vops =;

static struct ufs_hba_variant_ops ufs_intel_ehl_hba_vops =;

static struct ufs_hba_variant_ops ufs_intel_lkf_hba_vops =;

static struct ufs_hba_variant_ops ufs_intel_adl_hba_vops =;

static struct ufs_hba_variant_ops ufs_intel_mtl_hba_vops =;

#ifdef CONFIG_PM_SLEEP
static int ufshcd_pci_restore(struct device *dev)
{}
#endif

/**
 * ufshcd_pci_remove - de-allocate PCI/SCSI host and host memory space
 *		data structure memory
 * @pdev: pointer to PCI handle
 */
static void ufshcd_pci_remove(struct pci_dev *pdev)
{}

/**
 * ufshcd_pci_probe - probe routine of the driver
 * @pdev: pointer to PCI device handle
 * @id: PCI device id
 *
 * Return: 0 on success, non-zero value on failure.
 */
static int
ufshcd_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
{}

static const struct dev_pm_ops ufshcd_pci_pm_ops =;

static const struct pci_device_id ufshcd_pci_tbl[] =;

MODULE_DEVICE_TABLE(pci, ufshcd_pci_tbl);

static struct pci_driver ufshcd_pci_driver =;

module_pci_driver();

MODULE_AUTHOR();
MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();