|
@@ -28,7 +28,7 @@
|
|
|
|
|
|
#include "hidma_mgmt.h"
|
|
#include "hidma_mgmt.h"
|
|
|
|
|
|
-#define HIDMA_QOS_N_OFFSET 0x300
|
|
|
|
|
|
+#define HIDMA_QOS_N_OFFSET 0x700
|
|
#define HIDMA_CFG_OFFSET 0x400
|
|
#define HIDMA_CFG_OFFSET 0x400
|
|
#define HIDMA_MAX_BUS_REQ_LEN_OFFSET 0x41C
|
|
#define HIDMA_MAX_BUS_REQ_LEN_OFFSET 0x41C
|
|
#define HIDMA_MAX_XACTIONS_OFFSET 0x420
|
|
#define HIDMA_MAX_XACTIONS_OFFSET 0x420
|
|
@@ -227,7 +227,8 @@ static int hidma_mgmt_probe(struct platform_device *pdev)
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
|
|
|
|
- if (max_write_request) {
|
|
|
|
|
|
+ if (max_write_request &&
|
|
|
|
+ (max_write_request != mgmtdev->max_write_request)) {
|
|
dev_info(&pdev->dev, "overriding max-write-burst-bytes: %d\n",
|
|
dev_info(&pdev->dev, "overriding max-write-burst-bytes: %d\n",
|
|
max_write_request);
|
|
max_write_request);
|
|
mgmtdev->max_write_request = max_write_request;
|
|
mgmtdev->max_write_request = max_write_request;
|
|
@@ -240,7 +241,8 @@ static int hidma_mgmt_probe(struct platform_device *pdev)
|
|
dev_err(&pdev->dev, "max-read-burst-bytes missing\n");
|
|
dev_err(&pdev->dev, "max-read-burst-bytes missing\n");
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
- if (max_read_request) {
|
|
|
|
|
|
+ if (max_read_request &&
|
|
|
|
+ (max_read_request != mgmtdev->max_read_request)) {
|
|
dev_info(&pdev->dev, "overriding max-read-burst-bytes: %d\n",
|
|
dev_info(&pdev->dev, "overriding max-read-burst-bytes: %d\n",
|
|
max_read_request);
|
|
max_read_request);
|
|
mgmtdev->max_read_request = max_read_request;
|
|
mgmtdev->max_read_request = max_read_request;
|
|
@@ -253,7 +255,8 @@ static int hidma_mgmt_probe(struct platform_device *pdev)
|
|
dev_err(&pdev->dev, "max-write-transactions missing\n");
|
|
dev_err(&pdev->dev, "max-write-transactions missing\n");
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
- if (max_wr_xactions) {
|
|
|
|
|
|
+ if (max_wr_xactions &&
|
|
|
|
+ (max_wr_xactions != mgmtdev->max_wr_xactions)) {
|
|
dev_info(&pdev->dev, "overriding max-write-transactions: %d\n",
|
|
dev_info(&pdev->dev, "overriding max-write-transactions: %d\n",
|
|
max_wr_xactions);
|
|
max_wr_xactions);
|
|
mgmtdev->max_wr_xactions = max_wr_xactions;
|
|
mgmtdev->max_wr_xactions = max_wr_xactions;
|
|
@@ -266,7 +269,8 @@ static int hidma_mgmt_probe(struct platform_device *pdev)
|
|
dev_err(&pdev->dev, "max-read-transactions missing\n");
|
|
dev_err(&pdev->dev, "max-read-transactions missing\n");
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
- if (max_rd_xactions) {
|
|
|
|
|
|
+ if (max_rd_xactions &&
|
|
|
|
+ (max_rd_xactions != mgmtdev->max_rd_xactions)) {
|
|
dev_info(&pdev->dev, "overriding max-read-transactions: %d\n",
|
|
dev_info(&pdev->dev, "overriding max-read-transactions: %d\n",
|
|
max_rd_xactions);
|
|
max_rd_xactions);
|
|
mgmtdev->max_rd_xactions = max_rd_xactions;
|
|
mgmtdev->max_rd_xactions = max_rd_xactions;
|
|
@@ -354,7 +358,7 @@ static int __init hidma_mgmt_of_populate_channels(struct device_node *np)
|
|
struct platform_device_info pdevinfo;
|
|
struct platform_device_info pdevinfo;
|
|
struct of_phandle_args out_irq;
|
|
struct of_phandle_args out_irq;
|
|
struct device_node *child;
|
|
struct device_node *child;
|
|
- struct resource *res;
|
|
|
|
|
|
+ struct resource *res = NULL;
|
|
const __be32 *cell;
|
|
const __be32 *cell;
|
|
int ret = 0, size, i, num;
|
|
int ret = 0, size, i, num;
|
|
u64 addr, addr_size;
|
|
u64 addr, addr_size;
|