Skip to content

Commit

Permalink
accel/qaic: Add AIC080 support
Browse files Browse the repository at this point in the history
Add basic support for the new AIC080 product. The PCIe Device ID is
0xa080. AIC080 is a lower cost, lower performance SKU variant of AIC100.
From the qaic perspective, it is the same as AIC100.

Reviewed-by: Troy Hanson <[email protected]>
Signed-off-by: Jeffrey Hugo <[email protected]>
Reviewed-by: Jacek Lawrynowicz <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
  • Loading branch information
quic-jhugo committed Oct 12, 2024
1 parent 2af5deb commit b8128f7
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 1 deletion.
14 changes: 14 additions & 0 deletions Documentation/accel/qaic/aic080.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.. SPDX-License-Identifier: GPL-2.0-only
===============================
Qualcomm Cloud AI 80 (AIC080)
===============================

Overview
========

The Qualcomm Cloud AI 80/AIC080 family of products are a derivative of AIC100.
The number of NSPs and clock rates are reduced to fit within resource
constrained solutions. The PCIe Product ID is 0xa080.

As a derivative product, all AIC100 documentation applies.
1 change: 1 addition & 0 deletions Documentation/accel/qaic/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ accelerator cards.
.. toctree::

qaic
aic080
aic100
4 changes: 3 additions & 1 deletion drivers/accel/qaic/qaic_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@

MODULE_IMPORT_NS(DMA_BUF);

#define PCI_DEV_AIC080 0xa080
#define PCI_DEV_AIC100 0xa100
#define QAIC_NAME "qaic"
#define QAIC_DESC "Qualcomm Cloud AI Accelerators"
Expand Down Expand Up @@ -365,7 +366,7 @@ static struct qaic_device *create_qdev(struct pci_dev *pdev, const struct pci_de
return NULL;

qdev->dev_state = QAIC_OFFLINE;
if (id->device == PCI_DEV_AIC100) {
if (id->device == PCI_DEV_AIC080 || id->device == PCI_DEV_AIC100) {
qdev->num_dbc = 16;
qdev->dbc = devm_kcalloc(dev, qdev->num_dbc, sizeof(*qdev->dbc), GFP_KERNEL);
if (!qdev->dbc)
Expand Down Expand Up @@ -607,6 +608,7 @@ static struct mhi_driver qaic_mhi_driver = {
};

static const struct pci_device_id qaic_ids[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, PCI_DEV_AIC080), },
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, PCI_DEV_AIC100), },
{ }
};
Expand Down

0 comments on commit b8128f7

Please sign in to comment.