Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/mthca/mthca_cmd.c
Show First 20 Lines • Show All 846 Lines • ▼ Show 20 Lines | if (mthca_is_memfree(dev)) { | |||||||||
MTHCA_GET(dev->fw.arbel.eq_arm_base, outbox, QUERY_FW_EQ_ARM_BASE_OFFSET); | MTHCA_GET(dev->fw.arbel.eq_arm_base, outbox, QUERY_FW_EQ_ARM_BASE_OFFSET); | |||||||||
MTHCA_GET(dev->fw.arbel.eq_set_ci_base, outbox, QUERY_FW_EQ_SET_CI_BASE_OFFSET); | MTHCA_GET(dev->fw.arbel.eq_set_ci_base, outbox, QUERY_FW_EQ_SET_CI_BASE_OFFSET); | |||||||||
mthca_dbg(dev, "FW size %d KB\n", dev->fw.arbel.fw_pages << 2); | mthca_dbg(dev, "FW size %d KB\n", dev->fw.arbel.fw_pages << 2); | |||||||||
/* | /* | |||||||||
* Round up number of system pages needed in case | * Round up number of system pages needed in case | |||||||||
* MTHCA_ICM_PAGE_SIZE < PAGE_SIZE. | * MTHCA_ICM_PAGE_SIZE < PAGE_SIZE. | |||||||||
*/ | */ | |||||||||
#if MTHCA_ICM_PAGE_SIZE < PAGE_SIZE | ||||||||||
dev->fw.arbel.fw_pages = | dev->fw.arbel.fw_pages = | |||||||||
ALIGN(dev->fw.arbel.fw_pages, PAGE_SIZE / MTHCA_ICM_PAGE_SIZE) >> | ALIGN(dev->fw.arbel.fw_pages, PAGE_SIZE / MTHCA_ICM_PAGE_SIZE) >> | |||||||||
(PAGE_SHIFT - MTHCA_ICM_PAGE_SHIFT); | (PAGE_SHIFT - MTHCA_ICM_PAGE_SHIFT); | |||||||||
#endif | ||||||||||
mthca_dbg(dev, "Clear int @ %llx, EQ arm @ %llx, EQ set CI @ %llx\n", | mthca_dbg(dev, "Clear int @ %llx, EQ arm @ %llx, EQ set CI @ %llx\n", | |||||||||
(unsigned long long) dev->fw.arbel.clr_int_base, | (unsigned long long) dev->fw.arbel.clr_int_base, | |||||||||
(unsigned long long) dev->fw.arbel.eq_arm_base, | (unsigned long long) dev->fw.arbel.eq_arm_base, | |||||||||
(unsigned long long) dev->fw.arbel.eq_set_ci_base); | (unsigned long long) dev->fw.arbel.eq_set_ci_base); | |||||||||
} else { | } else { | |||||||||
MTHCA_GET(dev->fw.tavor.fw_start, outbox, QUERY_FW_START_OFFSET); | MTHCA_GET(dev->fw.tavor.fw_start, outbox, QUERY_FW_START_OFFSET); | |||||||||
MTHCA_GET(dev->fw.tavor.fw_end, outbox, QUERY_FW_END_OFFSET); | MTHCA_GET(dev->fw.tavor.fw_end, outbox, QUERY_FW_END_OFFSET); | |||||||||
▲ Show 20 Lines • Show All 717 Lines • ▼ Show 20 Lines | int mthca_SET_ICM_SIZE(struct mthca_dev *dev, u64 icm_size, u64 *aux_pages) | |||||||||
if (ret) | if (ret) | |||||||||
return ret; | return ret; | |||||||||
/* | /* | |||||||||
* Round up number of system pages needed in case | * Round up number of system pages needed in case | |||||||||
* MTHCA_ICM_PAGE_SIZE < PAGE_SIZE. | * MTHCA_ICM_PAGE_SIZE < PAGE_SIZE. | |||||||||
*/ | */ | |||||||||
#pragma GCC diagnostic push | ||||||||||
arichardsonUnsubmitted Not Done Inline Actions
arichardson: | ||||||||||
#pragma GCC diagnostic ignored "-Wtautological-compare" | ||||||||||
*aux_pages = ALIGN(*aux_pages, PAGE_SIZE / MTHCA_ICM_PAGE_SIZE) >> | *aux_pages = ALIGN(*aux_pages, PAGE_SIZE / MTHCA_ICM_PAGE_SIZE) >> | |||||||||
(PAGE_SHIFT - MTHCA_ICM_PAGE_SHIFT); | (PAGE_SHIFT - MTHCA_ICM_PAGE_SHIFT); | |||||||||
#pragma GCC diagnostic pop | ||||||||||
return 0; | return 0; | |||||||||
} | } | |||||||||
int mthca_SW2HW_MPT(struct mthca_dev *dev, struct mthca_mailbox *mailbox, | int mthca_SW2HW_MPT(struct mthca_dev *dev, struct mthca_mailbox *mailbox, | |||||||||
int mpt_index) | int mpt_index) | |||||||||
{ | { | |||||||||
return mthca_cmd(dev, mailbox->dma, mpt_index, 0, CMD_SW2HW_MPT, | return mthca_cmd(dev, mailbox->dma, mpt_index, 0, CMD_SW2HW_MPT, | |||||||||
▲ Show 20 Lines • Show All 366 Lines • Show Last 20 Lines |