• # suite irq sauvegarde

    Posté par . En réponse au message IRQ gpio sauvegarder pendant une disable_irq comment faire pour les reseter avant un enable_irq. Évalué à 1.

    Au final ce que je souhaite faire transferer des donnés via un bus eim entr un fpga et un imx6dl
    En utilisant le sdma du imx6.
    Pour l'instant je n'ai pas le hard du fpga.
    Le fpga me donnera des top d'une fifo à vider via une pin out. Cette pin out en faite représente quand le niveau de remplissage de moitié (niveau threashold) est arrivé dans la fifo. Donc l'idée mettre cette pin out en temps qu'irq et lorsqu'elle à état bas transférer les données.
    Il est tout à fait possible dans ce cas que lorsque le micro lis les données à travers le bus eim le niveau threashold soit de nouveau à bas car de sont coté le fpga reçoit lui aussi des donnée en continue. Or je ne dois pas prendre en compte cette interruption. C'est seulement qu'une fois que j'aurais fini de lire mes données que le micro pourra de nouveau regarder les its.

    Tout ça c'est le fonctionnement final. Pour l'instant je simule tout ça en faisant un transfert en interne d'une mémoire à une autre (comme un memcpy mais à travers le sdma). Pour etre plus explicite on va dire que j'ai un thread fpga (simulation) qui ecrit des données dans une zone mémoire kernel à travers mon module puis qui bouge une pin out qui est connecté à la pin out threashold. De l'autre coté j'ai un thread ReadData qui lui est en attente bloquante sur le read de mon module. Donc à chaque fois que je fais bouger la pin out je recois bien les irq dans mon module et le transfert ce fait bien. Pour faire des teste j'ai volontairement fais bouger cette irq pendant que les it était masqué et c'est la que j'ai vu le problème.

    Je sais pas si j'ai bien été claire moi voilà mon problème donc oui je suis vraiment obligé de nettoyer les it avant de les reconnecter.

    Merci d'avance