+/*
+ * This structure is used to statically define the capabilities
+ * of supported devices.
+ * Capabilities:
+ * rqpacing -
+ * Some HW variants require that PCIe read-requests be correctly throttled.
+ * This is called "rqpacing" and has to do with credit and flow control
+ * on certain Arkville implementations.
+ */
+struct ark_caps {
+ bool rqpacing;
+};
+struct ark_dev_caps {
+ uint32_t device_id;
+ struct ark_caps caps;
+};
+#define SET_DEV_CAPS(id, rqp) \
+ {id, {.rqpacing = rqp} }
+
+static const struct ark_dev_caps
+ark_device_caps[] = {
+ SET_DEV_CAPS(0x100d, true),
+ SET_DEV_CAPS(0x100e, true),
+ SET_DEV_CAPS(0x100f, true),
+ SET_DEV_CAPS(0x1010, false),
+ SET_DEV_CAPS(0x1017, true),
+ SET_DEV_CAPS(0x1018, true),
+ SET_DEV_CAPS(0x1019, true),
+ SET_DEV_CAPS(0x101e, false),
+ SET_DEV_CAPS(0x101f, false),
+ {.device_id = 0,}
+};
+