IB/hfi1: Get the hfi1_devdata structure as early as possible
Currently several things occur before the hfi1_devdata structure is allocated. This leads to an inconsistent logging ability and makes it more difficult to restructure some code paths. Allocate (and do a minimal init) the structure as soon as possible. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Reviewed-by: Sadanand Warrier <sadanand.warrier@intel.com> Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:

zatwierdzone przez
Doug Ledford

rodzic
6a516bc9d7
commit
57f97e9662
@@ -1887,10 +1887,8 @@ struct cc_state *get_cc_state_protected(struct hfi1_pportdata *ppd)
|
||||
#define HFI1_CTXT_WAITING_URG 4
|
||||
|
||||
/* free up any allocated data at closes */
|
||||
struct hfi1_devdata *hfi1_init_dd(struct pci_dev *pdev,
|
||||
const struct pci_device_id *ent);
|
||||
int hfi1_init_dd(struct hfi1_devdata *dd);
|
||||
void hfi1_free_devdata(struct hfi1_devdata *dd);
|
||||
struct hfi1_devdata *hfi1_alloc_devdata(struct pci_dev *pdev, size_t extra);
|
||||
|
||||
/* LED beaconing functions */
|
||||
void hfi1_start_led_override(struct hfi1_pportdata *ppd, unsigned int timeon,
|
||||
@@ -1974,7 +1972,7 @@ void hfi1_verbs_unregister_sysfs(struct hfi1_devdata *dd);
|
||||
/* Hook for sysfs read of QSFP */
|
||||
int qsfp_dump(struct hfi1_pportdata *ppd, char *buf, int len);
|
||||
|
||||
int hfi1_pcie_init(struct pci_dev *pdev, const struct pci_device_id *ent);
|
||||
int hfi1_pcie_init(struct hfi1_devdata *dd);
|
||||
void hfi1_clean_up_interrupts(struct hfi1_devdata *dd);
|
||||
void hfi1_pcie_cleanup(struct pci_dev *pdev);
|
||||
int hfi1_pcie_ddinit(struct hfi1_devdata *dd, struct pci_dev *pdev);
|
||||
@@ -2125,19 +2123,6 @@ static inline u64 hfi1_pkt_base_sdma_integrity(struct hfi1_devdata *dd)
|
||||
return base_sdma_integrity;
|
||||
}
|
||||
|
||||
/*
|
||||
* hfi1_early_err is used (only!) to print early errors before devdata is
|
||||
* allocated, or when dd->pcidev may not be valid, and at the tail end of
|
||||
* cleanup when devdata may have been freed, etc. hfi1_dev_porterr is
|
||||
* the same as dd_dev_err, but is used when the message really needs
|
||||
* the IB port# to be definitive as to what's happening..
|
||||
*/
|
||||
#define hfi1_early_err(dev, fmt, ...) \
|
||||
dev_err(dev, fmt, ##__VA_ARGS__)
|
||||
|
||||
#define hfi1_early_info(dev, fmt, ...) \
|
||||
dev_info(dev, fmt, ##__VA_ARGS__)
|
||||
|
||||
#define dd_dev_emerg(dd, fmt, ...) \
|
||||
dev_emerg(&(dd)->pcidev->dev, "%s: " fmt, \
|
||||
rvt_get_ibdev_name(&(dd)->verbs_dev.rdi), ##__VA_ARGS__)
|
||||
|
Reference in New Issue
Block a user