Eduardo Habkost
8063396bf3
Use OBJECT_DECLARE_SIMPLE_TYPE when possible
...
This converts existing DECLARE_INSTANCE_CHECKER usage to
OBJECT_DECLARE_SIMPLE_TYPE when possible.
$ ./scripts/codeconverter/converter.py -i \
--pattern=AddObjectDeclareSimpleType $(git grep -l '' -- '*.[ch]')
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
Acked-by: Paul Durrant <paul@xen.org >
Message-Id: <20200916182519.415636-6-ehabkost@redhat.com >
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
2020-09-18 14:12:32 -04:00
Eduardo Habkost
8110fa1d94
Use DECLARE_*CHECKER* macros
...
Generated using:
$ ./scripts/codeconverter/converter.py -i \
--pattern=TypeCheckMacro $(git grep -l '' -- '*.[ch]')
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
Reviewed-by: Juan Quintela <quintela@redhat.com >
Message-Id: <20200831210740.126168-12-ehabkost@redhat.com >
Reviewed-by: Juan Quintela <quintela@redhat.com >
Message-Id: <20200831210740.126168-13-ehabkost@redhat.com >
Message-Id: <20200831210740.126168-14-ehabkost@redhat.com >
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
2020-09-09 09:27:09 -04:00
Eduardo Habkost
db1015e92e
Move QOM typedefs and add missing includes
...
Some typedefs and macros are defined after the type check macros.
This makes it difficult to automatically replace their
definitions with OBJECT_DECLARE_TYPE.
Patch generated using:
$ ./scripts/codeconverter/converter.py -i \
--pattern=QOMStructTypedefSplit $(git grep -l '' -- '*.[ch]')
which will split "typdef struct { ... } TypedefName"
declarations.
Followed by:
$ ./scripts/codeconverter/converter.py -i --pattern=MoveSymbols \
$(git grep -l '' -- '*.[ch]')
which will:
- move the typedefs and #defines above the type check macros
- add missing #include "qom/object.h" lines if necessary
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
Reviewed-by: Juan Quintela <quintela@redhat.com >
Message-Id: <20200831210740.126168-9-ehabkost@redhat.com >
Reviewed-by: Juan Quintela <quintela@redhat.com >
Message-Id: <20200831210740.126168-10-ehabkost@redhat.com >
Message-Id: <20200831210740.126168-11-ehabkost@redhat.com >
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
2020-09-09 09:26:43 -04:00
Jean-Christophe Dubois
461c51ad42
Add a phy-num property to the i.MX FEC emulator
...
We need a solution to use an Ethernet PHY that is not the first device
on the MDIO bus (device 0 on MDIO bus).
As an example with the i.MX6UL the NXP SOC has 2 Ethernet devices but
only one MDIO bus on which the 2 related PHY are connected but at unique
addresses.
Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net >
Message-id: a1a5c0e139d1c763194b8020573dcb6025daeefa.1593296112.git.jcd@tribudubois.net
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2020-07-03 16:59:41 +01:00
Andrey Smirnov
831858ad9d
imx_fec: Reserve full FSL_IMX25_FEC_SIZE page for the register file
...
Some i.MX SoCs (e.g. i.MX7) have FEC registers going as far as offset
0x614, so to avoid getting aborts when accessing those on QEMU, extend
the register file to cover FSL_IMX25_FEC_SIZE(16K) of address space
instead of just 1K.
Cc: Peter Maydell <peter.maydell@linaro.org >
Cc: Jason Wang <jasowang@redhat.com >
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Cc: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Cc: yurovsky@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-01-11 13:25:38 +00:00
Andrey Smirnov
f93f961c40
imx_fec: Add support for multiple Tx DMA rings
...
More recent version of the IP block support more than one Tx DMA ring,
so add the code implementing that feature.
Cc: Peter Maydell <peter.maydell@linaro.org >
Cc: Jason Wang <jasowang@redhat.com >
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Cc: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Cc: yurovsky@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-01-11 13:25:37 +00:00
Andrey Smirnov
ebdd8cddb9
imx_fec: Emulate SHIFT16 in ENETx_RACC
...
Needed to support latest Linux kernel driver which relies on that
functionality.
Cc: Peter Maydell <peter.maydell@linaro.org >
Cc: Jason Wang <jasowang@redhat.com >
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Cc: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Cc: yurovsky@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-01-11 13:25:37 +00:00
Andrey Smirnov
ff9a7feeab
imx_fec: Use ENET_FTRL to determine truncation length
...
Frame truncation length, TRUNC_FL, is determined by the contents of
ENET_FTRL register, so convert the code to use it instead of a
hardcoded constant.
To avoid the case where TRUNC_FL is greater that ENET_MAX_FRAME_SIZE,
increase the value of the latter to its theoretical maximum of 16K.
Cc: Peter Maydell <peter.maydell@linaro.org >
Cc: Jason Wang <jasowang@redhat.com >
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Cc: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Cc: yurovsky@gmail.com
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-01-11 13:25:36 +00:00
Andrey Smirnov
7bac20dc51
imx_fec: Move Tx frame buffer away from the stack
...
Make Tx frame assembly buffer to be a paort of IMXFECState structure
to avoid a concern about having large data buffer on the stack.
Cc: Peter Maydell <peter.maydell@linaro.org >
Cc: Jason Wang <jasowang@redhat.com >
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Cc: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Cc: yurovsky@gmail.com
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-01-11 13:25:35 +00:00
Jean-Christophe Dubois
a699b410d7
Add ENET/Gbps Ethernet support to FEC device
...
The ENET device (present in i.MX6) is "derived" from FEC and backward
compatible with it.
This patch adds the necessary support of the added feature in the ENET
device to allow Linux to use it (on supported processors).
Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net >
Signed-off-by: Jason Wang <jasowang@redhat.com >
2016-06-02 10:42:46 +08:00
Jean-Christophe Dubois
db0de35268
i.MX: move FEC device to a register array structure.
...
This is to prepare for the ENET Gb device of the i.MX6.
Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net >
Signed-off-by: Jason Wang <jasowang@redhat.com >
2016-06-02 10:42:46 +08:00
Jean-Christophe Dubois
1bb3c37182
i.MX: Rename i.MX FEC defines to ENET_XXX
...
Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net >
Signed-off-by: Jason Wang <jasowang@redhat.com >
2016-06-02 10:42:46 +08:00
Jean-Christophe Dubois
fcbd8018e6
i.MX: Add FEC Ethernet Emulator
...
This is based on mcf_fec.c FEC implementation for Coldfire
* A generic PHY was added (borrowwed from LAN9118)
* The buffer management is also modified as buffers are
slightly different between Coldfire and i.MX
Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net >
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com >
Message-id: fb314f8a120aa49f8f6ad886f312c649b484fb5a.1441057361.git.jcd@tribudubois.net
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2015-09-07 10:39:30 +01:00