aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2022-08-11 15:21:44 +0100
committerMichael Brown <mcb30@ipxe.org>2022-08-11 15:24:29 +0100
commitf0ea19b23858bfe59f7ee060aa640820d0f65087 (patch)
treea5913404216a436e840f4582e2735b8fb11a7d7f
parentfb69d1400269b60d80fc949f84a519e403c58f0e (diff)
downloadipxe-f0ea19b23858bfe59f7ee060aa640820d0f65087.zip
ipxe-f0ea19b23858bfe59f7ee060aa640820d0f65087.tar.gz
ipxe-f0ea19b23858bfe59f7ee060aa640820d0f65087.tar.bz2
[intelxl] Increase data buffer size to 4kB
At least one E810 admin queue command (Query Default Scheduling Tree Topology) insists upon being provided with a 4kB data buffer, even when the data to be returned is much smaller. Work around this requirement by increasing the admin queue data buffer size to 4kB. Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/drivers/net/intelxl.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/drivers/net/intelxl.h b/src/drivers/net/intelxl.h
index 49a825b..2889394 100644
--- a/src/drivers/net/intelxl.h
+++ b/src/drivers/net/intelxl.h
@@ -329,6 +329,9 @@ union intelxl_admin_params {
struct intelxl_admin_link_params link;
} __attribute__ (( packed ));
+/** Maximum size of a data buffer */
+#define INTELXL_ADMIN_BUFFER_SIZE 0x1000
+
/** Admin queue data buffer */
union intelxl_admin_buffer {
/** Driver Version data buffer */
@@ -337,8 +340,8 @@ union intelxl_admin_buffer {
struct intelxl_admin_switch_buffer sw;
/** Get VSI Parameters data buffer */
struct intelxl_admin_vsi_buffer vsi;
- /** Alignment padding */
- uint8_t pad[INTELXL_ALIGN];
+ /** Maximum buffer size */
+ uint8_t pad[INTELXL_ADMIN_BUFFER_SIZE];
} __attribute__ (( packed ));
/** Admin queue descriptor */