mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
bus: fsl-mc: add api to retrieve mc version
Add a new api that returns Management Complex firmware version and make the required structure public. The api's first user will be the caam driver for setting prediction resistance bits. Signed-off-by: Andrei Botila <andrei.botila@nxp.com> Acked-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Reviewed-by: Horia Geantă <horia.geanta@nxp.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Horia Geantă <horia.geanta@nxp.com> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: Iuliana Prodan <iuliana.prodan@nxp.com> Cc: linux-crypto@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-imx@nxp.com Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
551ce72a78
commit
0544cb75bd
@ -26,6 +26,8 @@
|
||||
*/
|
||||
#define FSL_MC_DEFAULT_DMA_MASK (~0ULL)
|
||||
|
||||
static struct fsl_mc_version mc_version;
|
||||
|
||||
/**
|
||||
* struct fsl_mc - Private data of a "fsl,qoriq-mc" platform device
|
||||
* @root_mc_bus_dev: fsl-mc device representing the root DPRC
|
||||
@ -54,20 +56,6 @@ struct fsl_mc_addr_translation_range {
|
||||
phys_addr_t start_phys_addr;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct mc_version
|
||||
* @major: Major version number: incremented on API compatibility changes
|
||||
* @minor: Minor version number: incremented on API additions (that are
|
||||
* backward compatible); reset when major version is incremented
|
||||
* @revision: Internal revision number: incremented on implementation changes
|
||||
* and/or bug fixes that have no impact on API
|
||||
*/
|
||||
struct mc_version {
|
||||
u32 major;
|
||||
u32 minor;
|
||||
u32 revision;
|
||||
};
|
||||
|
||||
/**
|
||||
* fsl_mc_bus_match - device to driver matching callback
|
||||
* @dev: the fsl-mc device to match against
|
||||
@ -338,7 +326,7 @@ EXPORT_SYMBOL_GPL(fsl_mc_driver_unregister);
|
||||
*/
|
||||
static int mc_get_version(struct fsl_mc_io *mc_io,
|
||||
u32 cmd_flags,
|
||||
struct mc_version *mc_ver_info)
|
||||
struct fsl_mc_version *mc_ver_info)
|
||||
{
|
||||
struct fsl_mc_command cmd = { 0 };
|
||||
struct dpmng_rsp_get_version *rsp_params;
|
||||
@ -363,6 +351,20 @@ static int mc_get_version(struct fsl_mc_io *mc_io,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* fsl_mc_get_version - function to retrieve the MC f/w version information
|
||||
*
|
||||
* Return: mc version when called after fsl-mc-bus probe; NULL otherwise.
|
||||
*/
|
||||
struct fsl_mc_version *fsl_mc_get_version(void)
|
||||
{
|
||||
if (mc_version.major)
|
||||
return &mc_version;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(fsl_mc_get_version);
|
||||
|
||||
/**
|
||||
* fsl_mc_get_root_dprc - function to traverse to the root dprc
|
||||
*/
|
||||
@ -862,7 +864,6 @@ static int fsl_mc_bus_probe(struct platform_device *pdev)
|
||||
int container_id;
|
||||
phys_addr_t mc_portal_phys_addr;
|
||||
u32 mc_portal_size;
|
||||
struct mc_version mc_version;
|
||||
struct resource res;
|
||||
|
||||
mc = devm_kzalloc(&pdev->dev, sizeof(*mc), GFP_KERNEL);
|
||||
|
@ -381,6 +381,22 @@ int __must_check __fsl_mc_driver_register(struct fsl_mc_driver *fsl_mc_driver,
|
||||
|
||||
void fsl_mc_driver_unregister(struct fsl_mc_driver *driver);
|
||||
|
||||
/**
|
||||
* struct fsl_mc_version
|
||||
* @major: Major version number: incremented on API compatibility changes
|
||||
* @minor: Minor version number: incremented on API additions (that are
|
||||
* backward compatible); reset when major version is incremented
|
||||
* @revision: Internal revision number: incremented on implementation changes
|
||||
* and/or bug fixes that have no impact on API
|
||||
*/
|
||||
struct fsl_mc_version {
|
||||
u32 major;
|
||||
u32 minor;
|
||||
u32 revision;
|
||||
};
|
||||
|
||||
struct fsl_mc_version *fsl_mc_get_version(void);
|
||||
|
||||
int __must_check fsl_mc_portal_allocate(struct fsl_mc_device *mc_dev,
|
||||
u16 mc_io_flags,
|
||||
struct fsl_mc_io **new_mc_io);
|
||||
|
Loading…
Reference in New Issue
Block a user