Lines Matching refs:ppd
316 static int __i2c_write(struct hfi1_pportdata *ppd, u32 target, int i2c_addr,
319 struct hfi1_devdata *dd = ppd->dd;
335 int i2c_write(struct hfi1_pportdata *ppd, u32 target, int i2c_addr, int offset,
340 if (!check_chip_resource(ppd->dd, i2c_target(target), __func__))
343 ret = __i2c_write(ppd, target, i2c_addr, offset, bp, len);
355 static int __i2c_read(struct hfi1_pportdata *ppd, u32 target, int i2c_addr,
358 struct hfi1_devdata *dd = ppd->dd;
374 int i2c_read(struct hfi1_pportdata *ppd, u32 target, int i2c_addr, int offset,
379 if (!check_chip_resource(ppd->dd, i2c_target(target), __func__))
382 ret = __i2c_read(ppd, target, i2c_addr, offset, bp, len);
397 int qsfp_write(struct hfi1_pportdata *ppd, u32 target, int addr, void *bp,
406 if (!check_chip_resource(ppd->dd, i2c_target(target), __func__))
416 ret = __i2c_write(ppd, target, QSFP_DEV | QSFP_OFFSET_SIZE,
421 hfi1_dev_porterr(ppd->dd, ppd->port,
433 ret = __i2c_write(ppd, target, QSFP_DEV | QSFP_OFFSET_SIZE,
453 int one_qsfp_write(struct hfi1_pportdata *ppd, u32 target, int addr, void *bp,
456 struct hfi1_devdata *dd = ppd->dd;
463 ret = qsfp_write(ppd, target, addr, bp, len);
477 int qsfp_read(struct hfi1_pportdata *ppd, u32 target, int addr, void *bp,
486 if (!check_chip_resource(ppd->dd, i2c_target(target), __func__))
495 ret = __i2c_write(ppd, target, QSFP_DEV | QSFP_OFFSET_SIZE,
500 hfi1_dev_porterr(ppd->dd, ppd->port,
512 ret = __i2c_read(ppd, target, QSFP_DEV | QSFP_OFFSET_SIZE,
530 int one_qsfp_read(struct hfi1_pportdata *ppd, u32 target, int addr, void *bp,
533 struct hfi1_devdata *dd = ppd->dd;
540 ret = qsfp_read(ppd, target, addr, bp, len);
558 int refresh_qsfp_cache(struct hfi1_pportdata *ppd, struct qsfp_data *cp)
560 u32 target = ppd->dd->hfi1_id;
567 spin_lock_irqsave(&ppd->qsfp_info.qsfp_lock, flags);
568 ppd->qsfp_info.cache_valid = 0;
569 spin_unlock_irqrestore(&ppd->qsfp_info.qsfp_lock, flags);
571 if (!qsfp_mod_present(ppd)) {
576 ret = qsfp_read(ppd, target, 0, cache, QSFP_PAGESIZE);
578 dd_dev_info(ppd->dd,
589 ret = qsfp_read(ppd, target, 384, cache + 256, 128);
591 dd_dev_info(ppd->dd, "%s failed\n", __func__);
594 ret = qsfp_read(ppd, target, 640, cache + 384, 128);
596 dd_dev_info(ppd->dd, "%s failed\n", __func__);
599 ret = qsfp_read(ppd, target, 896, cache + 512, 128);
601 dd_dev_info(ppd->dd, "%s failed\n", __func__);
606 ret = qsfp_read(ppd, target, 640, cache + 384, 128);
608 dd_dev_info(ppd->dd, "%s failed\n", __func__);
611 ret = qsfp_read(ppd, target, 896, cache + 512, 128);
613 dd_dev_info(ppd->dd, "%s failed\n", __func__);
618 ret = qsfp_read(ppd, target, 384, cache + 256, 128);
620 dd_dev_info(ppd->dd, "%s failed\n", __func__);
623 ret = qsfp_read(ppd, target, 896, cache + 512, 128);
625 dd_dev_info(ppd->dd, "%s failed\n", __func__);
630 ret = qsfp_read(ppd, target, 896, cache + 512, 128);
632 dd_dev_info(ppd->dd, "%s failed\n", __func__);
638 spin_lock_irqsave(&ppd->qsfp_info.qsfp_lock, flags);
639 ppd->qsfp_info.cache_valid = 1;
640 ppd->qsfp_info.cache_refresh_required = 0;
641 spin_unlock_irqrestore(&ppd->qsfp_info.qsfp_lock, flags);
683 int qsfp_mod_present(struct hfi1_pportdata *ppd)
685 struct hfi1_devdata *dd = ppd->dd;
710 struct hfi1_pportdata *ppd;
721 ppd = dd->pport + (port_num - 1);
722 if (!qsfp_mod_present(ppd)) {
727 if (!ppd->qsfp_info.cache_valid) {
739 memcpy(data, &ppd->qsfp_info.cache[addr], (len - excess_len));
744 memcpy(data, &ppd->qsfp_info.cache[addr], len);
766 ret = one_qsfp_read(ppd, dd->hfi1_id, addr, data + offset, len);
790 int qsfp_dump(struct hfi1_pportdata *ppd, char *buf, int len)
792 u8 *cache = &ppd->qsfp_info.cache[0];
805 if (ppd->qsfp_info.cache_valid) {